最近、 System.Net.Mail.Attachmentを使用してファイルを電子メールに添付しているコードを調べていました。現在の実装では、添付ファイルをファイルとしてストレージデバイスに保存し、一意の名前を付けていました。次に、このファイルは次のようにMailMessageに追加されました。
Attachment data = new Attachment(filename);
message.Attachments.Add(data);
その後、電子メールが送信され、ファイルがストレージデバイスから削除されました。
ファイルをMemoryStream(すでに保存されている)に保存して、それを電子メールの添付ファイルとして渡す方が、より速く/より良いのではないでしょうか。MailMessageクラスのどこかで、ファイルがストリームに読み込まれ、まったく同じ方法で送信され、ディスクに保存するプロセス全体が完全に不要になると思います。
私の腸...ディスクへの書き込みは完全に不必要であり、ストリームの使用を実装する必要があります。(私が間違っている?)