Поведение отладки службы
В этом образце показано, как могут настраиваться параметры поведения отладки службы. Данный образец основан на образце Образец для начала работы, который реализует контракт службы ICalculator
. Этот образец явно определяет поведение отладки службы в файле конфигурации. Это также можно выполнить императивно в коде.
В этом образце клиентом является консольное приложение (EXE), а служба размещается в службах IIS.
![]() |
---|
Процедура настройки и инструкции по построению для данного образца приведены в конце этого раздела. |
Файл Web.config для сервера определяет поведение отладки службы для включения страницы справки и обработки исключений, как показано в следующем образце.
<behaviors>
<serviceBehaviors>
<behavior name="CalculatorServiceBehavior">
<!-- WARNING: Setting includeExceptionDetailInFaults = "True" could result in leaking secured server information to the client.-->
<!-- Please set this to false when deploying -->
<serviceDebug includeExceptionDetailInFaults="True" httpHelpPageEnabled="True"/>
</behavior>
</serviceBehaviors>
</behaviors>
serviceDebug является элементом конфигурации, позволяющим изменять свойства поведения отладки службы. Пользователь может изменять это поведение для достижения следующих целей.
Это позволяет службе возвращать любое исключение, вызванное кодом приложения, даже если это исключение не объявлено с помощью атрибута FaultContractAttribute. Для этого необходимо присвоить параметру includeExceptionDetailInFaults значение true. Этот параметр полезен при отладке в тех случаях, когда сервер создает непредвиденное исключение.
Примечание
Включать этот параметр в производственной среде небезопасно. В непредвиденном исключении сервера может содержаться информация, не предназначенная для клиента, поэтому присвоение параметру includeExceptionDetailsInFaults значения true может привести к утечке информации. С помощью serviceDebug пользователь также может включить или отключить страницу справки. Каждая служба может предоставлять страницу справки, которая содержит данные о службе, включая сведения о конечной точке для получения WSDL для службы. Эту возможность можно включить, присвоив параметру httpHelpPageEnabled значение true. Это позволяет возвращать страницу справки в ответ на запрос GET к базовому адресу службы. Этот адрес можно изменить, задав другой атрибут httpHelpPageUrl. Можно сделать этот процесс безопасным, если использовать транспорт HTTPS вместо HTTP. Для этого необходимо задать httpsHelpPageEnabled и httpsHelpPageUrl.
При выполнении образца запросы и ответы операций отображаются в окне консоли клиента. Первые три операции (сложение, вычитание и умножение) должны выполняться успешно. Последняя операция (деление) завершается неудачей — выдается исключение в результате деления на ноль.
Настройка, построение и выполнение образца
Убедитесь, что выполнены процедуры, описанные в разделе Процедура однократной настройки образцов Windows Communication Foundation.
Чтобы выполнить построение версии решения для языка C# или Visual Basic .NET, следуйте инструкциям раздела Построение образцов Windows Communication Foundation.
Чтобы выполнить образец на одном или нескольких компьютерах, следуйте инструкциям в разделе Running the Windows Communication Foundation Samples.
![]() |
---|
Образцы уже могут быть установлены на компьютере. Перед продолжением проверьте следующий каталог (по умолчанию).
<диск_установки>:\WF_WCF_Samples
Если этот каталог не существует, перейдите на страницу Образцы Windows Communication Foundation (WCF) и Windows Workflow Foundation (WF) для .NET Framework 4, чтобы загрузить все образцы Windows Communication Foundation (WCF) и WF. Этот образец расположен в следующем каталоге:
<диск_установки>:\WF_WCF_Samples\WCF\Basic\Services\Behaviors\ServiceDebug
|