Business Connectivity Services ソリューションが外部データ ソースでの削除について知る方法

最終更新日: 2010年4月15日

適用対象: SharePoint Server 2010

クライアントは、メソッド インスタンスの呼び出しを作成するときにオンラインの操作モードを使用していると、削除について認識し、ObjectNotFoundException または ObjectDeletedException を取得できます。しかしキャッシュ モードを使用している場合は、エンティティ インスタンスが外部アプリケーションで別のユーザーまたはアプリケーションによって削除されたことを前もって知ることができません。

キャッシュの更新時、同期プロセスはすべてのクエリを実行しようとします。すべてのクエリがサブスクリプションで成功し、サブスクリプションの更新間隔を過ぎると、クエリが返さなかったエンティティ インスタンスがすべて削除されます。つまりエンティティ インスタンスが外部アプリケーションに存在しなくなります。

同期プロセスがキュー内の操作を実行するとき、SpecificFinder に対する呼び出しが ObjectNotFoundException または ObjectDeletedException をスローする場合、別のユーザーまたはアプリケーションが外部アプリケーションでこのエンティティ インスタンスを削除したことになります。この場合、同期プロセスは、そのエンティティ インスタンスの保留操作を確認するためにキューをチェックします。保留中の操作がない場合は、エンティティ インスタンスを削除済みとしてマークします。保留中の削除操作のみがある場合は、操作を成功としてマークし、インスタンスを削除済みとしてマークします。他の保留中の操作がある場合は、操作を失敗としてマークし、エンティティ インスタンスをエラーとしてマークします。