6

Outlook アドインを使用していて、大量のアイテムを処理する必要があります。これにはかなりの時間がかかるため、別のスレッドで処理を実行しようとしました (Task.Factory.StartNew を使用)。ただし、その結果、Outlook がランダムにクラッシュします。

ワークロードを削減し、関連するデータのみをロードするために、Redemption を使用して MAPITable を操作しています。

  • メイン スレッドとワーカー スレッドの両方から RDOSession を初期化しようとしました。
  • メインスレッドで MAPIFolders を取得し、ワーカースレッドで MAPITable のみを操作しようとしました

現在のところ、すべてのロジックをメイン スレッド (ボタン クリック イベント) で実行することだけが機能しますが、それによって Outlook のユーザー インターフェイスが長時間ロックされ、ユーザーの観点からは受け入れられません。

Outlook アドイン内からバックグラウンド スレッドを操作する方法について、何かヒントを持っている人はいますか?

4

2 に答える 2