Я использую следующий код для прикрепления файла к сообщению электронной почты.
msg = new MailMessage();
using (strMem = new MemoryStream((byte[])attDr["filedata"]))
{
using (strWriter = new StreamWriter(strMem))
{
strWriter.Flush(); strMem.Position = 0;
using (attachment = new Attachment(strMem, attDr["filename"].ToString()))
{
msg.Attachments.Add(attachment);
}
}
}
...
...
msg.Send(); //Error: System.ObjectDisposedException: Cannot access a closed Stream.
Сообщение об ошибке://Ошибка: System.ObjectDisposedException: невозможно получить доступ к закрытому потоку
Я предполагаю, что оператор USING закрывает поток при выходе из блока. Но почему "Attacments.Add()" не создает собственную копию потока?