<serviceDebug>

Указывает функции отладки и справки для службы Windows Communication Foundation (WCF).

<configuration>
  <system.serviceModel>
    <behaviors>
      <serviceBehaviors>
        <behavior>
          <serviceDebug>

Синтаксис

<serviceDebug httpHelpPageBinding="String"
              httpHelpPageBindingConfiguration="String"
              httpHelpPageEnabled="Boolean"
              httpHelpPageUrl="Uri"
              httpsHelpPageBinding="String"
              httpsHelpPageBindingConfiguration="String"
              httpsHelpPageEnabled="Boolean"
              httpsHelpPageUrl="Uri"
              includeExceptionDetailInFaults="Boolean" />

Атрибуты и элементы

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

Attributes

Свойство Description
httpHelpPageBinding Строковое значение, указывающее тип привязки, используемой при использовании HTTP для доступа к странице справки службы.

Поддерживаются только привязки с внутренними элементами привязки, которые поддерживаются System.ServiceModel.Channels.IReplyChannel . Кроме того, System.ServiceModel.Channels.MessageVersion свойство привязки должно быть MessageVersion.None.
httpHelpPageBindingConfiguration Строка, указывающая имя привязки, указанной в атрибуте httpHelpPageBinding , которая ссылается на дополнительные сведения о конфигурации этой привязки. То же имя должно быть определено в <bindings> разделе.
httpHelpPageEnabled Логическое значение, которое определяет, публикует ли WCF страницу справки HTML по адресу, указанному атрибутом httpHelpPageUrl . Значение по умолчанию — true.

Это свойство можно задать, чтобы false отключить публикацию страницы справки HTML, видимой в браузерах HTML.

Чтобы страница справки HTML была опубликована в расположении, управляемом атрибутом httpHelpPageUrl , необходимо задать для этого атрибута trueзначение . Кроме того, необходимо выполнить одно из следующих условий:

httpHelpPageUrl— Атрибут является абсолютным адресом, поддерживающим схему протокола HTTP.
— Существует базовый адрес службы, поддерживающей схему протокола HTTP.

Хотя исключение возникает, если абсолютный адрес, который не поддерживает схему протокола HTTP, назначается httpHelpPageUrl атрибуту, любой другой сценарий, в котором ни один из предыдущих критериев не выполняется, не приводит к исключению и не странице справки HTML.
httpHelpPageUrl Универсальный код ресурса (URI), указывающий относительный или абсолютный URL-адрес пользовательского HTML-файла справки, который отображается при просмотре конечной точки с помощью браузера HTML.

Этот атрибут можно использовать для включения использования пользовательского HTML-файла справки, возвращаемого из ЗАПРОСА HTTP/Get, например из браузера HTML. Расположение HTML-файла справки разрешается следующим образом.

1. Если значение этого атрибута является относительным адресом, расположение HTML-файла справки — это значение базового адреса службы, поддерживающего HTTP-запросы, а также это значение свойства.
2. Если значение этого атрибута является абсолютным адресом и поддерживает HTTP-запросы, расположение HTML-файла справки — это значение этого свойства.
3. Если значение этого атрибута является абсолютным, но не поддерживает HTTP-запросы, создается исключение.

Этот атрибут действителен только в том случае, если httpHelpPageEnabled атрибут имеет значение true.
httpsHelpPageBinding Строковое значение, указывающее тип привязки, используемой при использовании HTTPS для доступа к странице справки службы.

Поддерживаются только привязки с внутренними элементами привязки, которые поддерживаются IReplyChannel . Кроме того, System.ServiceModel.Channels.MessageVersion свойство привязки должно быть MessageVersion.None.
httpsHelpPageBindingConfiguration Строка, указывающая имя привязки, указанной в атрибуте httpsHelpPageBinding , которая ссылается на дополнительные сведения о конфигурации этой привязки. То же имя должно быть определено в <bindings> разделе.
httpsHelpPageEnabled Логическое значение, которое определяет, публикует ли WCF страницу справки HTML по адресу, указанному атрибутом httpsHelpPageUrl . Значение по умолчанию — true.

Это свойство можно задать, чтобы false отключить публикацию страницы справки HTML, видимой в браузерах HTML.

Чтобы страница справки HTML была опубликована в расположении, управляемом атрибутом httpsHelpPageUrl , необходимо задать для этого атрибута trueзначение . Кроме того, необходимо выполнить одно из следующих условий:

httpsHelpPageUrl— Атрибут является абсолютным адресом, поддерживающим схему протокола HTTPS.
— Существует базовый адрес службы, поддерживающей схему протокола HTTPS.

Хотя исключение возникает, если абсолютный адрес, который не поддерживает схему протокола HTTPS, назначается httpsHelpPageUrl атрибуту, любой другой сценарий, в котором ни один из предыдущих критериев не выполняется, не приводит к исключению и не странице справки HTML.
httpsHelpPageUrl Универсальный код ресурса (URI), указывающий относительный или абсолютный URL-адрес на основе HTTPS пользовательского HTML-файла справки, который пользователь видит, когда конечная точка просматривается с помощью браузера HTML.

Этот атрибут можно использовать для включения использования пользовательского HTML-файла справки, возвращаемого из запроса HTTPS/Get, например из браузера HTML. Расположение HTML-файла справки разрешается следующим образом:

— Если значение этого свойства является относительным адресом, расположение HTML-файла справки — это значение базового адреса службы, поддерживающего HTTPS-запросы, а также это значение свойства.
— Если значение этого свойства является абсолютным адресом и поддерживает HTTPS-запросы, расположение HTML-файла справки — это значение этого свойства.
— Если значение этого свойства является абсолютным, но не поддерживает HTTPS-запросы, создается исключение.

Этот атрибут действителен только в том случае, если httpHelpPageEnabled атрибут имеет значение true.
includeExceptionDetailInFaults Значение, указывающее, следует ли включать сведения об управляемом исключении в подробные сведения о сбоях SOAP, возвращенных клиенту в целях отладки. Значение по умолчанию — false.

Если этот атрибут trueзадан, можно включить поток сведений об управляемом исключении клиенту для отладки, а также публикацию HTML-файлов сведений для пользователей, просматривающих службу в веб-браузерах. Осторожностью: Возврат сведений об управляемом исключении клиентам может быть угрозой безопасности. Это связано с тем, что сведения об исключении предоставляют сведения о реализации внутренней службы, которую могут использовать несанкционированные клиенты.

Дочерние элементы

Нет.

Родительские элементы

Элемент Description
<поведение> Задает элемент поведения.

Замечания

Параметр includeExceptionDetailInFaults , позволяющий true службе возвращать любое исключение, вызываемое кодом приложения, даже если исключение не объявляется с помощью FaultContractAttribute. Этот параметр полезен при отладке случаев, когда сервер создает неожиданное исключение. С помощью этого атрибута возвращается сериализованная форма неизвестного исключения, и вы можете изучить дополнительные сведения об исключении.

Caution

Возврат сведений об управляемом исключении клиентам может быть угрозой безопасности, так как сведения об исключении предоставляют сведения о реализации внутренней службы, которую могут использовать несанкционированные клиенты. Из-за проблем безопасности, настоятельно рекомендуется делать это только в управляемых сценариях отладки. При развертывании приложения необходимо задать значение includeExceptionDetailInFaultsfalse .

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

Вы также можете задать httpsHelpPageEnabled и httpsHelpPageUrl включить или отключить страницу справки. Каждая служба может при необходимости предоставить страницу справки, содержащую сведения о службе, включая конечную точку, чтобы получить WSDL для службы. Это можно включить, установив для httpHelpPageEnabledпараметра true значение . Это позволяет вернуть страницу справки в запрос GET на базовый адрес службы. Этот адрес можно изменить, задав httpHelpPageUrl атрибут. Кроме того, эту защиту можно сделать с помощью HTTPS вместо HTTP.

Необязательные httpHelpPageBinding и httpHelpPageBinding атрибуты позволяют настраивать привязки, используемые для доступа к веб-странице службы. Если они не указаны, привязки по умолчанию (HttpTransportBindingElementв случае HTTP и HttpsTransportBindingElement( в случае HTTPS) используются для доступа к странице справки службы соответствующим образом. Обратите внимание, что эти атрибуты нельзя использовать со встроенными привязками WCF. Поддерживаются только привязки с элементами внутренней привязки, поддерживающими xref:System.ServiceModel.Channel.IReplyChannel> . Кроме того, System.ServiceModel.Channels.MessageVersion свойство привязки должно быть MessageVersion.None.

См. также