Udostępnij za pośrednictwem


CallbackDebugBehavior.IncludeExceptionDetailInFaults Właściwość

Definicja

Pobiera lub ustawia wartość, która określa, czy obiekty wywołania zwrotnego klienta zwracają informacje o wyjątkach zarządzanych w błędach protokołu SOAP z powrotem do usługi.

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

Wartość właściwości

Boolean

true jeśli program WCF zwraca informacje o wyjątku wywołania zwrotnego zarządzanego klienta w błędach protokołu SOAP na potrzeby debugowania usługi w komunikacji dwustronnej; w przeciwnym razie , false. Wartość domyślna to false.

Przykłady

Poniższy przykład kodu przedstawia plik konfiguracji klienta, który nakazuje programowi WCF zwrócenie informacji o wyjątku zarządzanym z obiektu wywołania zwrotnego klienta w komunikatach SOAP.

  <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>

Uwagi

IncludeExceptionDetailInFaults Ustaw właściwość na true z pliku konfiguracji aplikacji lub programowo, aby umożliwić przepływ informacji o wyjątkach zarządzanych w obiekcie wywołania zwrotnego klienta z powrotem do usługi na potrzeby debugowania.

Przestroga

Zwracanie informacji o wyjątkach zarządzanych do usług może być zagrożeniem bezpieczeństwa, ponieważ szczegóły wyjątku ujawniają informacje o wewnętrznej implementacji klienta, która może być używana przez nieautoryzowane usługi. Ponadto, chociaż CallbackDebugBehavior właściwości można również ustawić programowo, można łatwo zapomnieć o wyłączeniu IncludeExceptionDetailInFaults podczas wdrażania.

Ze względu na związane problemy z zabezpieczeniami zdecydowanie zaleca się:

  • Plik konfiguracji aplikacji służy do ustawiania wartości IncludeExceptionDetailInFaults właściwości na true.

  • Robisz to tylko w kontrolowanych scenariuszach debugowania.

Aby uzyskać więcej informacji na temat problemów z zabezpieczeniami związanych z informacjami o wyjątkach zarządzanych, zobacz Określanie i obsługa błędów w kontraktach i usługach.

Aby włączyć lub wyłączyć funkcję wywołania zwrotnegoDebugBehavior przy użyciu pliku konfiguracji

  1. behaviorConfiguration Dodaj atrybut do elementu klienta <endpoint> dla aplikacji klienckiej WCF. Zachowanie CallbackDebugBehavior jest zachowaniem punktu końcowego. Zachowania punktu końcowego są konfigurowane na <endpoint> elementach; zachowania usługi są konfigurowane w elementach <usługi> .

  2. Dodaj do lub utwórz sekcję <endpointBehaviors> i dodaj <element zachowania> do tej z nazwą zgodną z wartością atrybutu behaviorConfiguration z kroku 1. Zachowania punktu końcowego są dodawane do użycia w elemecie klienta <endpoint> przy użyciu <elementu endpointBehaviors> .

  3. <Dodaj element callbackDebug> do <elementu zachowania> z kroku 2 i włącz lub wyłącz różne właściwości odpowiednie dla danego scenariusza.

Aby zapoznać się z konkretnym przykładem, zobacz sekcję Przykład. Można również ustawić wartości tego atrybutu przy użyciu <elementu callbackDebug> w pliku konfiguracji aplikacji klienckiej.

Dotyczy