Outlook アドインを使用していて、大量のアイテムを処理する必要があります。これにはかなりの時間がかかるため、別のスレッドで処理を実行しようとしました (Task.Factory.StartNew を使用)。ただし、その結果、Outlook がランダムにクラッシュします。
ワークロードを削減し、関連するデータのみをロードするために、Redemption を使用して MAPITable を操作しています。
- メイン スレッドとワーカー スレッドの両方から RDOSession を初期化しようとしました。
- メインスレッドで MAPIFolders を取得し、ワーカースレッドで MAPITable のみを操作しようとしました
現在のところ、すべてのロジックをメイン スレッド (ボタン クリック イベント) で実行することだけが機能しますが、それによって Outlook のユーザー インターフェイスが長時間ロックされ、ユーザーの観点からは受け入れられません。
Outlook アドイン内からバックグラウンド スレッドを操作する方法について、何かヒントを持っている人はいますか?