次の方法で共有


同じフォルダーに対する繰り返しの呼び出しは、Exchange Server 2013 または Exchange Online で遅くなります

元の KB 番号: 3077710

現象

Exchange Server 2013 年またはExchange Onlineでは、同じフィルター条件を使用して MAPI 内のメソッドまたは Folder.FindItems() Exchange Web Services のメソッドを繰り返し呼び出IMAPITable::Restrict()すと、同じフォルダーに対する後続の呼び出しは、最初の呼び出しが完了するまでに時間がかかります。

この状況は、以前のバージョンの Exchange とは異なります。 これらのバージョンでは、同じフォルダーに対する後の呼び出しは、元の呼び出しよりも高速です。

原因

この問題は、Exchange Server 2013 ではすべての制限がキャッシュされないために発生します。 以前のバージョンの Exchange では、すべての制限がキャッシュされます。 そのため、同じ条件を使用する繰り返し要求は、結果セット全体を再計算する必要がないため、これらのバージョンではより迅速に返されます。

回避策

この問題を回避するには、検索フォルダーを作成し、目的の属性を持つ項目と一致するようにフォルダー条件を構成します。 次に、検索フォルダーに一致する項目のクエリを実行します。 検索フォルダーの結果はキャッシュされ、最新の状態に保たれているため、要求されるたびに検索フォルダーの結果を再計算する必要はありません。

注:

この回避策は、毎回同じ条件が使用される場合にのみ適用されます。 検索条件が絶えず変化する場合は、並べ替えとシークのプロセスなどの別の方法を試す必要があります。 たとえば、特定の datetime 値に基づく検索では、一貫性のある条件は使用されません。

詳細

検索フォルダーを作成する方法の詳細については、「 EWS マネージ API 2.0 を使用した検索フォルダーの作成」を参照してください。