ServiceDebugBehavior Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Включает возможности отладки и справки для службы Windows Communication Foundation (WCF).
public ref class ServiceDebugBehavior : System::ServiceModel::Description::IServiceBehavior
public class ServiceDebugBehavior : System.ServiceModel.Description.IServiceBehavior
type ServiceDebugBehavior = class
interface IServiceBehavior
Public Class ServiceDebugBehavior
Implements IServiceBehavior
- Наследование
-
ServiceDebugBehavior
- Реализации
Примеры
В следующем примере кода показано использование файла конфигурации для включения функций справочной HTML-страницы и возврата информации об исключении в ошибке SOAP клиенту в целях отладки, а также для включения функции поддержки метаданных. В файле конфигурации показаны следующие основные шаги по добавлению поддержки функциональных возможностей ServiceDebugBehavior:
ServiceDebugBehavior Поскольку тип является реализациейSystem.ServiceModel.Description.IServiceBehavior, элемент службы>, представляющий тип службы,< имеет идентификатор
behaviorConfiguration="metadataAndDebug"
конфигурации поведения.ServiceDebugBehavior Поскольку тип является реализацией System.ServiceModel.Description.IServiceBehavior <элемента поведения>, добавляется в <раздел serviceBehaviors>.
name
Задайте атрибут <элемента поведения>, значение которого является идентификаторомbehaviorConfiguration
атрибута <элемента службы>. В этом случае используется значениеmetadataAndDebug
.<Добавьте элемент serviceDebug> с различными атрибутами, заданными для требуемой конфигурации. В этом случае значения атрибута
httpHelpPageEnabled
иincludeExceptionDetailInFaults
заданы какtrue
.
<configuration>
<system.serviceModel>
<services>
<!--
Step 1. Add a behaviorConfiguration attribute
in the <service> element.
-->
<service
name="Microsoft.WCF.Documentation.SampleService"
behaviorConfiguration="metadataAndDebug">
<host>
<baseAddresses>
<add baseAddress="http://localhost:8080/SampleService" />
</baseAddresses>
</host>
<endpoint
address=""
binding="wsHttpBinding"
contract="Microsoft.WCF.Documentation.ISampleService"
/>
<endpoint
address="mex"
binding="mexHttpBinding"
contract="IMetadataExchange"
/>
</service>
</services>
<behaviors>
<serviceBehaviors>
<!--
Step 2. Inside a <serviceBehaviors> section, add
a name attribute in the <behaviors> element that
matches the behaviorConfiguration attribute in the
<service> element above.
-->
<behavior name="metadataAndDebug">
<serviceMetadata
httpGetEnabled="true"
httpGetUrl=""
/>
<!--
Step 3. Add a <serviceDebug> element and
modify the various attributes that suit your
scenario.
-->
<serviceDebug
httpHelpPageEnabled="true"
includeExceptionDetailInFaults="true"
/>
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
</configuration>
Комментарии
Рекомендуется использовать свойства ServiceDebugBehavior из файла конфигурации или программным способом, чтобы разрешить в целях отладки передачу клиенту потока информации по управляемым исключениям,а также публикацию HTML-файлов с информацией для пользователей, которые обращаются к службе при помощи веб-браузеров.
IncludeExceptionDetailInFaults Задайте для свойства true
указание WCF возвращать сведения об управляемых исключениях в сбоях SOAP клиентам в целях отладки.
Внимание!
Возвращение клиенту сведений об управляемых исключениях может представлять риск с точки зрения безопасности, так как подробные данные об исключении содержат сведения о внутренней реализации службы, которые могут использоваться неавторизованными клиентами. Кроме того, хотя свойства ServiceDebugBehavior также могут настраиваться программно, IncludeExceptionDetailInFaults легко забыть отключить при развертывании.
Вследствие указанных проблем с безопасностью настоятельно рекомендуется делать следующее.
Файл конфигурации приложения может использоваться для присвоения свойству IncludeExceptionDetailInFaults значения
true
.Это следует делать только в контролируемых сценариях отладки.
Дополнительные сведения о проблемах безопасности, связанных с сведениями об управляемых исключениях, см. в разделе "Указание и обработка сбоев в контрактах и службах".
Свойства HttpHelpPageEnabled и HttpsHelpPageEnabled отправляют службе инструкции по публикации HTML-файлов справки, если просмотр службы осуществляется с помощью HTML-браузера.
Свойства HttpHelpPageUrl и HttpsHelpPageUrl задают расположение просматриваемой справочной HTML-страницы.
Включение или отключение возможностей ServiceDebugBehavior с помощью файла конфигурации:
behaviorConfiguration
Добавьте атрибут в <элемент службы WCF>. Поведение конечных точек настраивается для <endpoint> элементов; поведение службы в <элементах службы> .Добавьте или создайте <раздел serviceBehaviors> и добавьте <в нее элемент поведения> с именем, соответствующим значению атрибута
behaviorConfiguration
из шага 1. Поведение конечных точек настраивается с помощью <элемента endpointBehaviors> . Поведение службы настраивается с помощью <элемента serviceBehaviors> .Добавьте элемент serviceDebug> в элемент поведения из шага 2 и включите или отключите различные свойства, соответствующие вашему сценарию.< ><
Конкретный пример см. в разделе «Пример».
Конструкторы
ServiceDebugBehavior() |
Инициализирует новый экземпляр класса ServiceDebugBehavior. |
Свойства
HttpHelpPageBinding |
Возвращает или задает высокоуровневый доступ к определению привязки. |
HttpHelpPageEnabled |
Возвращает или задает значение, определяющее, публикует ли служба Windows Communication Foundation (WCF) справочную HTML-страницу по адресу, управляемому свойством HttpHelpPageUrl. |
HttpHelpPageUrl |
Возвращает или задает путь для публикации файлов справочной HTML-страницы. |
HttpsHelpPageBinding |
Возвращает или задает высокоуровневый доступ к определению привязки. |
HttpsHelpPageEnabled |
Возвращает или задает значение, указывающее, возвращает ли служба Windows Communication Foundation (WCF) HTML-файл справки по протоколу HTTPS по адресу, управляемому свойством HttpsHelpPageUrl. |
HttpsHelpPageUrl |
Возвращает или задает путь публикации файлов HTML для извлечения с помощью HTTPS. |
IncludeExceptionDetailInFaults |
Получает или задает значение, которое определяет, включать ли информацию по управляемым исключениям в подробную информацию об ошибках SOAP, которая возвращается клиенту для отладки. |
Методы
Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
GetType() |
Возвращает объект Type для текущего экземпляра. (Унаследовано от Object) |
MemberwiseClone() |
Создает неполную копию текущего объекта Object. (Унаследовано от Object) |
ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |
Явные реализации интерфейса
IServiceBehavior.AddBindingParameters(ServiceDescription, ServiceHostBase, Collection<ServiceEndpoint>, BindingParameterCollection) |
Реализует метод AddBindingParameters(ServiceDescription, ServiceHostBase, Collection<ServiceEndpoint>, BindingParameterCollection) для поддержки расширения функциональности. |
IServiceBehavior.ApplyDispatchBehavior(ServiceDescription, ServiceHostBase) |
Реализует метод ApplyDispatchBehavior(ServiceDescription, ServiceHostBase) для поддержки расширения функциональности. |
IServiceBehavior.Validate(ServiceDescription, ServiceHostBase) |
Реализует метод Validate(ServiceDescription, ServiceHostBase) для поддержки расширения функциональности. |