.NET日志或查看SOAP Web服务的调用/响应

.NET日志或查看SOAP Web服务的调用/响应,.net,web-services,logging,soap,debugging,.net,Web Services,Logging,Soap,Debugging,在.NET中检查来自web服务的呼叫和响应的最佳方法是什么? 我正在与一个用Perl编写的Web服务交互,遇到了一些问题。 如何捕获呼叫和响应的文本 更新: 根据澄清意见: 我想通过.NET来做,这样当出现问题时,我可以登录或通过电子邮件发送。是你在网络服务这个摇摇欲坠的世界中最好的朋友 不,正如前面指出的,它在代码内部没有做任何事情。您也不希望这样做——调试不应该改变进程的语义,或者您正在调试调试代码 此外,我还喜欢wireshark,但fiddler更适合HTTP,因为它的设计重点是HTT

在.NET中检查来自web服务的呼叫和响应的最佳方法是什么?
我正在与一个用Perl编写的Web服务交互,遇到了一些问题。
如何捕获呼叫和响应的文本

更新:
根据澄清意见: 我想通过.NET来做,这样当出现问题时,我可以登录或通过电子邮件发送。

是你在网络服务这个摇摇欲坠的世界中最好的朋友


不,正如前面指出的,它在代码内部没有做任何事情。您也不希望这样做——调试不应该改变进程的语义,或者您正在调试调试代码


此外,我还喜欢wireshark,但fiddler更适合HTTP,因为它的设计重点是HTTP。如果我要从线路上抓取字节,那就是wireshark。

我个人喜欢使用数据包嗅探器,比如。它是检查任何类型网络流量的绝佳工具。

您可以通过创建
SoapExtension
并在web服务客户端中启用它来做到这一点:

上面的链接提供了一个示例代码的框架,用于记录文件的请求/响应

要在应用程序中启用,请将以下内容添加到web.config或app.config:

<webServices>
    <soapExtensionTypes>
        <add type="YourNamespace.TraceExtension, AssemblyName" 
             priority="0" group="High"/>
    </soapExtensionTypes>
</webServices>

我自己的SOAP跟踪扩展在它自己的项目/程序集中实现。每当我需要调试请求/响应时,我只需将DLL放到应用程序文件夹(/bin for ASP.NET)中,并如上所述添加对配置文件的引用

例如:

<webServices>
   <soapExtensionTypes>
      <add 
         type="DebugTools.SOAP.SOAPTrace.SoapTraceExtension, DebugTools.SOAP" 
         priority="0" group="High"/>
   </soapExtensionTypes>
</webServices>

DebugTools.SOAP.SOAPTrace
SoapTraceExtension


DebugTools.SOAP
是包含SOAP跟踪代码的程序集的名称。

在WCF web服务或客户端中,您可以简单地配置跟踪和/或消息日志记录。这可以在运行时完成,无需更改代码。

Fiddler充当本地计算机上任何进程与您正在交谈的服务器之间的代理(显示两者之间的所有通信量)在代码中包含通信量的用例是什么?你是否正在构建一个WPF版本的fiddler?我知道fiddler是如何工作的。只是我在寻找一些我可以插入到实际代码中的东西。通知我奇怪的结果…也许会提醒我。我不知道怎么让提琴手那样做,明白了。这个问题一点也不清楚,也许你想编辑一下。非常整洁,从未见过那个。在您无法安装工具的环境中绝对方便。是的……您可以在不修改应用程序代码的情况下插入日志记录,这真是太好了。太好了!我要试试这个。谢谢+1.将带回反馈。谢谢。。。这是一个相当长的搜索的解决方案。我正在使用用Perl编写的web服务(不是出于选择)。客户端是用.NET3.5编写的。我仍然可以利用客户端上的跟踪/登录功能吗?不,你不能。请编辑您的答案,说明您的客户机是PERL。你说你想在.NET中做这件事,这让我觉得客户是.NET。