Поделиться через


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.

Примеры

В следующем примере кода показан файл конфигурации клиента, который предписывает WCF возвращать сведения об управляемых исключениях из объекта обратного вызова клиента в сообщениях 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>

Комментарии

Задайте свойству IncludeExceptionDetailInFaults значение true в файле конфигурации приложения или программным путем, чтобы включить поток сведений об управляемом исключении в объекте обратного вызова клиента в службу для отладки.

Внимание!

Возвращение в службы сведений об управляемом исключении может нести в себе риск безопасности, поскольку сведения об исключении предоставляют данные о внутренней реализации клиента, которые могут быть использованы неавторизованными службами. Кроме того, хотя свойства CallbackDebugBehavior также могут настраиваться программно, IncludeExceptionDetailInFaults легко забыть отключить при развертывании.

Вследствие указанных проблем с безопасностью настоятельно рекомендуется делать следующее.

  • Файл конфигурации приложения может использоваться для присвоения свойству IncludeExceptionDetailInFaults значения true.

  • Это следует делать только в контролируемых сценариях отладки.

Дополнительные сведения о проблемах безопасности, связанных с управляемыми исключениями, см. в разделе Указание и обработка ошибок в контрактах и службах.

Включение или отключение возможности CallbackDebugBehavior с использованием файла конфигурации

  1. behaviorConfiguration Добавьте атрибут в элемент конечной точки> клиента< для клиентского приложения WCF. Поведение объекта CallbackDebugBehavior является поведением конечной точки. Поведение конечной точки настраивается для <endpoint> элементов; поведение службы — для <элементов службы> .

  2. Добавьте в раздел endpointBehaviors> или создайте< его и добавьте к ней <элемент поведения> с именем, соответствующим значению behaviorConfiguration атрибута из шага 1. Поведение конечной точки добавляется для использования в клиентском элементе конечной< точки> с помощью элемента endpointBehaviors>.<

  3. Добавьте элемент callbackDebug> в элемент поведения из шага 2 и включите или отключите различные свойства, соответствующие вашему сценарию.<><

Конкретный пример см. в разделе «Пример». Значения этого атрибута также можно задать с помощью <элемента callbackDebug> в файле конфигурации клиентского приложения.

Применяется к