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


<serviceDebug>

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

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

Задайте этому свойству значение false, чтобы отключить публикацию HTML-страницы справки, которая доступна для HTML-браузеров.

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

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

Хотя когда атрибуту httpHelpPageUrl назначается абсолютный адрес, который не поддерживает схему протокола HTTP, создается исключение, в любом другом случае, когда не выполняется ни одно из указанных выше условий, исключение не вызывается и HTML-страница справки не создается.
httpHelpPageUrl Универсальный код ресурса (URI), который указывает относительный или абсолютный URL-адрес по протоколу HTTP для пользовательского файла справки 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.
httpHelpPageBindingConfiguration Строка, задающая имя привязки, указанной атрибутом httpsHelpPageBinding, который ссылается на дополнительные сведения конфигурации этой привязки. Такое же имя должно быть задано в разделе <bindings>.
httpsHelpPageEnabled Логическое значение, определяющее, публикует ли WCF страницу справки HTML по адресу, указанному атрибутом httpsHelpPageUrl . Значение по умолчанию — true.

Задайте этому свойству значение false, чтобы отключить публикацию HTML-страницы справки, которая доступна для HTML-браузеров.

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

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

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

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

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

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

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

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

Отсутствует.

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

Элемент Описание
<Поведение> Указывает элемент поведения.

Комментарии

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

Внимание!

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

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

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

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

См. также раздел