CallbackDebugBehavior.IncludeExceptionDetailInFaults プロパティ

定義

クライアント コールバック オブジェクトが SOAP エラー内のマネージド例外情報をサービスに返すかどうかを制御する値を取得または設定します。

public:
 property bool IncludeExceptionDetailInFaults { bool get(); void set(bool value); };
public bool IncludeExceptionDetailInFaults { get; set; }
member this.IncludeExceptionDetailInFaults : bool with get, set
Public Property IncludeExceptionDetailInFaults As Boolean

プロパティ値

true WCF が双方向通信のサービス デバッグ目的で SOAP エラーでマネージ クライアント コールバック例外情報を返す場合。それ以外の場合は false。 既定値は、false です。

SOAP メッセージのクライアント コールバック オブジェクトからマネージド例外情報を返すように WCF に指示するクライアント構成ファイルを次のコード例に示します。

  <client>
      <endpoint 
        address="http://localhost:8080/DuplexHello" 
        binding="wsDualHttpBinding"
        bindingConfiguration="WSDualHttpBinding_SampleDuplexHello"
        contract="SampleDuplexHello" 
        name="WSDualHttpBinding_SampleDuplexHello"
        behaviorConfiguration="enableCallbackDebug">
      </endpoint>
  </client>
<behaviors>
  <endpointBehaviors>
    <behavior name="enableCallbackDebug">
      <callbackDebug includeExceptionDetailInFaults="true"/>
    </behavior>
  </endpointBehaviors>
</behaviors>

注釈

アプリケーション構成ファイルまたはプログラムから、IncludeExceptionDetailInFaults プロパティを true に設定して、デバッグするために、クライアント コールバック オブジェクト内のマネージド例外情報がサービスに戻るフローを有効にします。

注意事項

マネージド例外情報をサービスに戻すことは、セキュリティ リスクになり得ます。これは、例外の詳細が、非承認のサービスで使用可能な内部クライアントの実装についての情報を公開するからです。 さらに、CallbackDebugBehavior プロパティをプログラムで設定することはできますが、配置するときに IncludeExceptionDetailInFaults を無効にすることを忘れがちになります。

セキュリティの問題にかかわるので、以下を強くお勧めします。

  • IncludeExceptionDetailInFaults プロパティの値を true に設定するには、アプリケーション構成ファイルを使用します。

  • これは、制御されたデバッグ シナリオの場合に限って行います。

マネージド例外情報に関連するセキュリティの問題の詳細については、「 コントラクトとサービスでのエラーの指定と処理」を参照してください。

構成ファイルを使用して CallbackDebugBehavior の機能を有効または無効にするには

  1. behaviorConfiguration WCF クライアント アプリケーションのクライアント <エンドポイント>要素に 属性を追加します。 CallbackDebugBehavior 動作はエンドポイントの動作です。 エンドポイントの動作は要素に対して<endpoint>構成され、サービス動作はサービス>要素で<構成されます。

  2. endpointBehaviors> セクションを<追加<または作成し、手順 1 の属性値と一致する名前の behavior> 要素をbehaviorConfiguration追加します。 エンドポイントの動作は、endpointBehaviors> 要素を使用してクライアント エンドポイント要素で使用<するために追加されます。><

  3. 手順 2 の behavior> 要素に callbackDebug 要素を<追加し、シナリオに適したさまざまなプロパティを有効または無効にします。><

個々の例については、「使用例」のセクションを参照してください。 また、クライアント アプリケーション構成ファイルの callbackDebug> 要素を<使用して、この属性の値を設定することもできます。

適用対象