просмотреть размер данных, отправляемых обратно сервисом wcf - PullRequest
1 голос
/ 21 февраля 2011

Кто-нибудь знает хороший инструмент для просмотра размера данных, возвращаемых службой WCF? Я попытался использовать профилировщик Redgates, но не вижу, где можно посмотреть информацию об отправляемых полезных нагрузках ...

Спасибо

Ошибка - добавление комментариев - это боль, поэтому я просто отредактирую этот вопрос ...

По сути, да - я добавил трассировку. Вот что я добавил в мой файл .config.

 <system.diagnostics>
<sources>
  <source name="System.ServiceModel" propagateActivity="true">
    <listeners>
      <add name="traceListener" type="System.Diagnostics.XmlWriterTraceListener" initializeData= "{LogFile_BasePath}{LogFile_FileName}.svclog" />
    </listeners>
  </source>
  <source name="System.ServiceModel.MessageLogging">
    <listeners>
      <add name="messages" type="System.Diagnostics.XmlWriterTraceListener" initializeData="{LogFile_BasePath}{LogFile_FileName}.messages.svclog" />
    </listeners>
  </source>

</sources>

Итак - с учетом сказанного, что это действительно хорошо, я могу видеть незашифрованные SOAP-сообщения, что приятно, но всякий раз, когда я получаю сообщение, подобное + 22k, я получаю это сообщение

The trace record is not correct and cannot be loaded. This might be caused by one of the following reasons:
1. The source file has been changed, which affected the location of the loading trace.
2. There is no valid ending tag in the trace record.
3. The trace file goes wrong.

Смещение файла записи трассировки: 3081471 Запись трассировки ошибок:

Хмм ... Похоже, номер два - это проблема? Я предполагаю, что? Я не уверен - я знаю, что все работает, я просто хочу выяснить, как я, почему я получаю это? Это то, как я закодировал метод? Мне бы в ласты так трудно поверить, я бы подумал, что это вообще не сработает, я застрял на этом.

Ответы [ 2 ]

4 голосов
/ 21 февраля 2011

Вы всегда можете использовать Fiddler для просмотра того, что возвращается из вашего сервиса (если он возвращается через HTTP).Вы не указали протокол.

Вы также можете использовать WCF Service Trace Viewer .

3 голосов
/ 21 февраля 2011

Использовать встроенную трассировку WCF: http://msdn.microsoft.com/en-us/library/ms733025.aspx.

Вы можете включить трассировку, используя следующую конфигурацию:

<configuration>
   <system.diagnostics>
      <sources>
            <source name="System.ServiceModel" 
                    switchValue="Information, ActivityTracing"
                    propagateActivity="true">
            <listeners>
               <add name="traceListener" 
                   type="System.Diagnostics.XmlWriterTraceListener" 
                   initializeData= "c:\log\Traces.svclog" />
            </listeners>
         </source>
      </sources>
   </system.diagnostics>
</configuration>

Укажите файл для вывода вместо c:\log\Traces.svclog. Затем вы сможете дважды щелкнуть файл журнала, чтобы открыть его с помощью SvcTraceViewer, и легко увидеть все запросы, а также содержимое и размеры полезной нагрузки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...