xConnectの一時故障に対するエラーコードを設定
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
再試行者がxConnectクライアントの一時的エラーを識別するために使用する デフォルトのエラー応答コードを 、選択したエラー応答コードで上書きできます。例えば、新しいエラー応答コードを追加したり、既存のコードの一部を削除したりできます。
これを実現する方法は2つあります。 xConnectクライアントの設定ファイルでリトライャーの設定を変更するか、C#言語を使って新しいHTTPエラーコードを追加する方法です。
xConnectクライアントの設定を更新して、一時的なエラー応答コードを追加または削除してください
一時的なエラー応答コードの設定:
-
C:\path\to\sitecore\App_Config\Sitecore\XConnect.Client.Configuration\Sitecore.XConnect.Client.config.Sitecore.XConnect.Client.configファイルを開け。
-
xConnectクライアントのリトライャ設定オプションの
セクションで、不要なエラーコードを削除し、必要に応じて新しいカスタムコードを追加してください。例えば、以下の設定ではデフォルトのエラーコード 408 を削除し、新しいエラーコード500 を追加しました:504 502 429 500 503
C#コードを使って新しいHTTPエラーコードを追加する
デフォルトのリトライヤで定義されたエラー応答コードを上書きするために、C#コードを使うことができます。
C#コードを使って新しいHTTPエラーコードを追加するには:
-
C#コードでは、検出戦略が一時的エラーとして扱うべきHTTP応答ステータスコードを指定します。以下のコードサンプルはデフォルトのリトライア構成を上書きし、代わりにHTTP内部サーバーエラーとゲートウェイタイムアウトの2種類のエラーのみを処理します。
services.AddTransientFaultHandling(config => config .AddDefaultHttpRetryer("MyRetryer", new HttpPolicyRetryerOptions { ExponentialRetry = new ExponentialRetryOptions { MaxAttempts = 3, MinBackoff = TimeSpan.FromSeconds(5), MaxBackoff = TimeSpan.FromSeconds(30), DeltaBackoff = TimeSpan.FromSeconds(1) }, CustomCodes = new List
{ HttpStatusCode.InternalServerError, HttpStatusCode.GatewayTimeout } });