2017-06-01 1 views
1

CloudTableClientを使用している場合、クライアントサイドタイムアウトを指定する方法はありますか?CloudTableClientクライアントサイドタイムアウト

TableRequestOptions RetryPolicyとServerTimeoutは、再試行の回数、試行間の遅延、ストレージサービス側のタイムアウトを制御しますが、HttpClient.Timeoutプロパティなどの試行タイムアウトあたりのクライアント側をカバーしていないようです。 。

私はServerSideTimeoutに頼っていますが、実際のサーバーに接続するのが遅れています。

答えて

2

CloudTableClientを使用する場合、クライアント側のタイムアウトを指定する方法はありますか?

TableRequestOptionsのMaximumExecutionTimeプロパティは、クライアント側とサーバー側が使用するすべての潜在的な再試行の可能性のある最大実行時間を指定するのに役立ちます。

tableClient.DefaultRequestOptions.MaximumExecutionTime = new TimeSpan(0, 0, 0, 0, 100); 

特定の時刻に要求を処理できない場合、例外がスローされます。

Microsoft.WindowsAzure.Storage.StorageException: 'The client could not finish the operation within specified timeout.' 

すべての実行時間のHttpClientのTimeoutプロパティは、特定のHttpClient.Timeoutプロパティ

のような応答が戻って来る前に。

私は再試行ごとのタイムアウトを見つけることを望んでいます。

あなたはMaximumExecutionTimeを使用することをお勧めします。クライアント側のDNS解決タイムアウトが必要な場合は、ServicePointManagerのDnsRefreshTimeoutプロパティを取得または設定できます。

ServicePointManager.DnsRefreshTimeout = 4*60*1000; // 4 minutes 
+0

私は再試行ごとのタイムアウトを見つけることを望んでいます。私が知る限りでは、それはありません。 – Trey

+0

あなたのコメントに基づいて返信を更新しました。 – Amor

関連する問題