Включение трассировки в веб-службах ASP.NET

Этот раздел посвящен технологии прежних версий. Веб-службы XML и клиенты веб-служб XML должны создаваться с использованием Windows Communication Foundation.

В этом разделе описывается включение трассировки в веб-службах, созданных с помощью ASP.NET в платформе .NET Framework, версия 3.5. Включите трассировку, чтобы узнать, как повысить производительность и устойчивость, а также расширить возможности диагностики неполадок, связанных с веб-службами.

Трассировка для ASMX

Чтобы включить трассировку для ASMX, используйте следующий образец конфигурации.

Bb885203.note(ru-ru,VS.100).gifПримечание
Трассировка включается, только если для приложения действует полное доверие.

<system.diagnostics>
    <trace autoflush="true" />
    <sources>
        <source name="System.Web.Services.Asmx">
            <listeners>
                <add name="AsmxTraceFile" type="System.Diagnostics.TextWriterTraceListener" initializeData="local.log" traceOutputOptions="LogicalOperationStack, DateTime, Timestamp, ProcessId, ThreadId" />
            </listeners>
        </source>
    </sources>
    <switches>
        <add name="System.Web.Services.Asmx" value="Verbose"  />
    </switches>
</system.diagnostics>

Уровень трассировки

Для всех трассировок (кроме трассировок исключений и ошибок сериализации) используется уровень информации. Для трассировок обработанных исключений используется уровень предупреждений, а для трассировок других исключений — уровень ошибок. Если уровень трассировки — "Подробно", выполняется также трассировка стека исключений; в противном случае осуществляется трассировка только типа исключения, сообщения и метода кода, где оно было зафиксировано. В отношении ошибок сериализации и десериализации следует иметь в виду, что при включенной трассировке события сериализации используются для отслеживания неизвестных элементов и атрибутов в сообщении SOAP.

Точки трассировки

Ниже перечислены точки трассировки на стороне клиента:

  • до и после сериализации запроса;

  • до и после GetWebResponse;

  • до и после десериализации ответа;

  • до и после создания XmlSerializer.

Ниже перечислены точки трассировки на стороне сервера:

  • при вызове обработчика IIS;

  • до и после десериализации запроса;

  • перед диспетчеризацией;

  • при возврате результата от метода сервера;

  • до и после сериализации ответа;

  • до и после создания XmlSerializer.