【发布时间】:2012-02-17 11:13:23
【问题描述】:
我正在使用 MemoryStream 从存储在数据库中的二进制文件添加附件。我的问题是我想正确处理 MemoryStream。这很容易使用“使用”语句完成,但是当我有多个附件时,我不知道如何正确处理多个 MemoryStream。
是否有一种好方法可以迭代并附加文件,但同时正确处理我用来附加的 MemoryStreams?当我在使用 smtp 之前尝试刷新/关闭时。通过一条错误消息发送它,指出流已关闭。
任何建议将不胜感激。
【问题讨论】:
-
MailMessage.Dispose() 方法已经释放了它的附件,你不需要帮忙。
-
@HansPassant 这应该是答案。比保留一个流列表然后将其全部处理掉要好得多。
-
@HansPassant 我刚刚注意到它仅适用于
System.Net.Mail.MailMessage而不是已弃用的System.Web.Mail.MailMessage不实现 Idisposeable -
好吧,您找到了它被弃用的一个原因。 CDO 已经过时了。
标签: c# .net idisposable memorystream using-statement