一時的な障害処理アプリケーションブロック(TFHAB)を使用して、Azureデータベースとのインターフェイス時に再試行ポリシーを定義しています。可能性のある本番シナリオを計画および処理するためにスロットル応答を呼び出す方法があるかどうか疑問に思っていますか?
SQLコマンドをループに入れて、応答を呼び出すまで実行することもできますが、おそらくこれは「ベストプラクティス」とは見なされませんか?
一時的なエラー処理ロジックをテストするための実用的な方法を誰かが提案できますか?
一時的な障害処理アプリケーションブロック(TFHAB)を使用して、Azureデータベースとのインターフェイス時に再試行ポリシーを定義しています。可能性のある本番シナリオを計画および処理するためにスロットル応答を呼び出す方法があるかどうか疑問に思っていますか?
SQLコマンドをループに入れて、応答を呼び出すまで実行することもできますが、おそらくこれは「ベストプラクティス」とは見なされませんか?
一時的なエラー処理ロジックをテストするための実用的な方法を誰かが提案できますか?
Azureでの一時的なエラーのテストとWindowsAzureSQLデータベースによって返されるエラーコードのリストを組み合わせて、テストしている動作をモックできるかどうかを確認します。単体テスト以外では、エラーを「シミュレート」できるとは思いません。これらのエラーは、傍受するのが難しいTDSプロトコルを介してSQLから発生しているためです。あなたのニーズは、シミュレーターを注入できるアプリケーションブロックのフォークの良い候補になるでしょう。
AzureSQLデータベースで一時的なエラーを確実に生成できるコードを開発することができました。コードは次の場所にあります:https ://github.com/robdmoore/SQLAzureTransientDemo
依存性注入をお勧めします:)詳しく説明するために、高レベルのクライアントコードは、Azureに直接依存関係を持たないようにし、クライアントSDKをインターフェイスの背後に配置し、そのインターフェイスを依存性として高レベルのクライアントコードに渡します。インターフェイスの実装として本番コードの実際のSDKを渡し、テストの場合は、必要なエラーコードまたは応答を返すことができるインターフェイスのテスト実装に合格します。