これが主な問題です。
私は次のようなものでリポジトリパターンを使用しようとしています:
public interface IExchangeInboxRepository
{
IEnumerable<InboxEmail> GetAllEmails();
}
私が達成したいのは、電子メールを取得して、次のような Domain オブジェクトを作成することです。
public class InboxEmail
{
public IEnumerable<FileAttachment> Attachments { get; set; }
public string FromAddress { get; set; }
public string Subject { get; set; }
public string Content { get; set; }
public DateTime DateArrived { get; set; }
}
問題は、この例のように EWS を使用しようとすることからわかることです。
Exchange Web サービスを使用して Exchange から添付ファイルをダウンロードする
ドメイン obj の添付ファイルのリストに対して fileAttachment.Load() を実行しようとすると、Exchange サービスが呼び出されます。大したことではありませんが、リポジトリが IEnumerable を作成して戻した後にメールを削除するようにしたいと思います。メールを削除すると、明らかに FileAttachment にアクセスしようとすると、「ストアが空です」という例外がスローされます。FileAttachment を永続化する方法はありますか?
私は基本的に、Domain Obj 内に添付されているファイルを保持し、EWS を使用して反復された後に電子メールを削除し、リポジトリのユーザーに返したいと考えています。