1

Azureテーブルクエリをキャンセルすることはできますか?Azureテーブルクエリをキャンセルする

長期的なクエリを実行する場合(30〜60秒かかる場合があります)、オブジェクトは破棄され、完了する前にクエリを中止する必要があります。

TableServicesContextとExecuteQuery(同期的に)を使用しています。ソリューションで必要な場合は、非同期も考慮に入れることができます。

答えて

1

まず、テーブルサービスのクエリが30秒以上続く可能性があります。 this documentation on Query Timeouts and Paginationをチェックしてください。

また、Windows Azure Storage Services SLAは、テーブルサービス(バッチ操作用)の最大応答時間が30秒であることを保証します。単一のエンティティに対する操作は2秒以内に完了しなければならない。

まだ問題が解決しない場合は、IAsyncResultオブジェクトを返すBeginExecuteメソッドを使用することです。独自のタイマーを持ち、独自のロジックで指定されたIAsyncResultでCancelRequestを呼び出すことができます。

これまでのところ、すべてのリンクをたどった場合、BeginExecuteCancelRequestDataServiceContext calssのメソッドになっています。そのため、TableSeriveContextのドキュメントでは完全ではありません。しかし、TableServiceContextはDataServiceContextを直接継承するので、これらのメソッドはTableServiceContextでも使用できます。

あなたはまた、How to: Execute Asynchronous Data Service Queries

を見てみたいことは、この情報がお役に立てば幸い!

+0

これは私が探していたものです。ありがとうございました。 – ionwarp