<serviceDebug>
Задает функции по отладке и функции справки для службы Windows Communication Foundation (WCF).
Иерархия схемы
<system.serviceModel>
<варианты поведения>
<serviceBehaviors>
<behavior> для <serviceBehaviors>
<serviceDebug>
Синтаксис
<serviceDebug httpHelpPageBinding=”String” httpHelpPageBindingConfiguration=”String”
httpHelpPageEnabled="Boolean"
httpHelpPageUrl="Uri"
httpsHelpPageBinding=”String” httpsHelpPageBindingConfiguration=”String”
httpsHelpPageEnabled="Boolean"
httpsHelpPageUrl="Uri"
includeExceptionDetailInFaults="Boolean" />
Атрибуты и элементы
В следующих разделах описываются атрибуты, дочерние и родительские элементы.
Атрибуты
Атрибут | Описание |
---|---|
httpHelpPageBinding |
Строковое значение, определяющее тип привязки, которая будет использоваться в тех случаях, когда для обращения к странице справки службы будет использоваться HTTP. Поддерживаются только привязки с внутренними элементами привязки, поддерживающими System.ServiceModel.Channels.IReplyChannel. Кроме этого, свойство System.ServiceModel.Channels.MessageVersion привязки должно иметь значение System.ServiceModel.Channels.MessageVersion.None. |
httpHelpPageBindingConfiguration |
Строка, задающая имя привязки, указанной атрибутом httpHelpPageBinding, который ссылается на дополнительные сведения конфигурации этой привязки. Такое же имя должно быть задано в разделе <bindings>. |
httpHelpPageEnabled |
Логическое значение, которое определяет, будет ли WCF публиковать HTML-страницу справки по адресу, указанному в атрибуте httpHelpPageUrl. Значение по умолчанию — true. Задайте этому свойству значение false, чтобы отключить публикацию HTML-страницы справки, которая доступна для HTML-обозревателей. Чтобы HTML-страница справки публиковалась по адресу, указанному в атрибуте httpHelpPageUrl, необходимо установить для данного атрибута значение true. Кроме того, должно выполняться одно из перечисленных ниже условий.
Хотя когда атрибуту httpHelpPageUrl назначается абсолютный адрес, который не поддерживает схему протокола HTTP, создается исключение, в любом другом случае, когда не выполняется ни одно из указанных выше условий, исключение не вызывается и HTML-страница справки не создается. |
httpHelpPageUrl |
Универсальный код ресурса (URI), который указывает относительный или абсолютный URL-адрес по протоколу HTTP для пользовательского файла справки HTML, который показывается пользователю при просмотре конечной точки с помощью HTML-обозревателя. Этот атрибут можно использовать для разрешения использования пользовательского файла справки HTML, который возвращается в запросе HTTP/Get, например, HTML-обозревателем. Расположение файла справки HTML определяется следующим образом.
Этот атрибут действителен, только когда атрибут httpHelpPageEnabled имеет значение true. |
httpsHelpPageBinding |
Строковое значение, определяющее тип привязки, которая будет использоваться в тех случаях, когда для обращения к странице справки службы будет использоваться HTTPS. Поддерживаются только привязки с внутренними элементами привязки, поддерживающими System.ServiceModel.Channels.IReplyChannel. Кроме этого, свойство System.ServiceModel.Channels.MessageVersion привязки должно иметь значение System.ServiceModel.Channels.MessageVersion.None. |
httpHelpPageBindingConfiguration |
Строка, задающая имя привязки, указанной атрибутом httpsHelpPageBinding, который ссылается на дополнительные сведения конфигурации этой привязки. Такое же имя должно быть задано в разделе <bindings>. |
httpsHelpPageEnabled |
Логическое значение, которое определяет, будет ли WCF публиковать HTML-страницу справки по адресу, указанному в атрибуте httpsHelpPageUrl. Значение по умолчанию — true. Задайте этому свойству значение false, чтобы отключить публикацию HTML-страницы справки, которая доступна для HTML-обозревателей. Чтобы HTML-страница справки публиковалась по адресу, указанному в атрибуте httpsHelpPageUrl, необходимо установить для данного атрибута значение true. Кроме того, должно выполняться одно из перечисленных ниже условий.
Хотя когда атрибуту httpsHelpPageUrl назначается абсолютный адрес, который не поддерживает схему протокола HTTPS, создается исключение, в любом другом случае, когда не выполняется ни одно из указанных выше условий, исключение не вызывается и HTML-страница справки не создается. |
httpsHelpPageUrl |
Универсальный код ресурса (URI), который указывает относительный или абсолютный URL-адрес по протоколу HTTPS для пользовательского файла справки HTML, который показывается пользователю при просмотре конечной точки с помощью HTML-обозревателя. Этот атрибут можно использовать для разрешения использования пользовательского файла справки HTML, который возвращается в запросе HTTPS/Get, например, HTML-обозрвеателем. Расположение файла справки HTML определяется следующим образом:
Этот атрибут действителен, только когда атрибут httpHelpPageEnabled имеет значение true. |
includeExceptionDetailInFaults |
Значение, которое определяет, включать ли сведения об управляемых исключениях в данные ошибок SOAP, которые возвращаются клиенту для отладки. Значение по умолчанию — false. Если этот атрибут имеет значение true, то разрешается передача потока сведений об управляемых исключениях клиенту в целях отладки, а также публикация HTML-файлов с данными для пользователей, которые обращаются к службе при помощи веб-обозревателей.
Внимание!
Возвращение клиентам сведений об управляемых исключениях может представлять риск с точки зрения безопасности. Это связано с тем, что подробные данные об исключении содержат сведения о внутренней реализации службы, которые могут использоваться неавторизованными клиентами.
|
Дочерние элементы
Нет.
Родительские элементы
Элемент | Описание |
---|---|
Задает элемент поведения. |
Замечания
Если атрибут includeExceptionDetailInFaults имеет значение true , службе разрешается возвращать любое исключение, вызванное кодом приложения, даже если это исключение не объявлено с помощью FaultContractAttribute. Этот параметр полезен при отладке в тех случаях, когда сервер создает неожиданное исключение. При использовании данного атрибута возвращается сериализованное представление неизвестного исключения, что позволяет подробно его изучить.
Внимание! |
---|
Возвращение клиенту сведений об управляемых исключениях может представлять риск с точки зрения безопасности, так как подробные данные об исключении содержат сведения о внутренней реализации службы, которые могут использоваться неавторизованными клиентами. В связи с рисками для безопасности настоятельно рекомендуется использовать такой метод только в контролируемых сценариях отладки. При развертывании приложения необходимо установить для атрибута includeExceptionDetailInFaults значение false. |
Дополнительные сведения по вопросам безопасности, связанным с управляемыми исключениями, см. в разделе Specifying and Handling Faults in Contracts and Services. Образец с исходным кодом см. в разделе Service Debug Behavior.
Для включения и отключения страницы справки также можно задать атрибуты httpsHelpPageEnabled и httpsHelpPageUrl. Каждая служба может предоставлять страницу справки, которая содержит данные о службе, включая сведения о конечной точке для получения WSDL для службы. Эту возможность можно включить, присвоив параметру httpHelpPageEnabled значение true. Это позволяет возвращать страницу справки в ответ на запрос GET к базовому адресу службы. Этот адрес можно изменить, задав атрибут httpHelpPageUrl. Кроме того, можно сделать этот процесс безопасным, если использовать HTTPS вместо HTTP.
Необязательные атрибуты httpHelpPageBinding и httpHelpPageBinding позволяют выполнить настройку привязок, которые используются для доступа к веб-странице службы. Если они не заданы, для доступа к странице справки службы применяются привязки по умолчанию (HttpTransportBindingElement для HTTP и HttpsTransportBindingElement для HTTPS). Обратите внимание, что эти атрибуты нельзя использовать вместе со встроенными привязками WCF. Поддерживаются только привязки с внутренними элементами привязки, поддерживающими System.ServiceModel.Channels.IReplyChannel. Кроме этого, свойство System.ServiceModel.Channels.MessageVersion привязки должно иметь значение System.ServiceModel.Channels.MessageVersion.None.
См. также
Справочник
ServiceDebugElement
ServiceDebugBehavior
Другие ресурсы
Specifying and Handling Faults in Contracts and Services
Handling Exceptions and Faults
Service Debug Behavior