检查电话的最佳方法是什么?来自.NET中的Web服务的响应?
我正在与用Perl编写的Web服务进行交互并遇到问题
如何捕获呼叫和响应的文本?
更新
根据评论澄清:
我想通过.NET来做这件事,所以我可以在出现问题时记录或通过电子邮件发送它。
答案 0 :(得分:10)
您可以通过创建SoapExtension
并在您的网络服务客户端中启用它来完成此操作:
上面的链接提供了一个示例代码框架,用于记录对文件的请求/响应。
要在您的应用程序中启用,请将以下内容添加到您的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跟踪代码的程序集的名称。
答案 1 :(得分:4)
Fiddler是您在网络服务这个不稳定世界中最好的朋友。
不,它没有像指出的那样在代码中做任何事情。你也不想这样做 - 调试不应该改变进程的语义,或者你正在调试你的调试代码。
另外,我告诉我一些wirehark,但是fiddler对HTTP的东西更好一点,因为它专注于HTTP。如果我从线上抓取字节,那就是Wirehark。
答案 2 :(得分:0)
就个人而言,我喜欢使用数据包嗅探器,例如Wireshark。它是检查任何类型网络流量的绝佳工具。
答案 3 :(得分:0)
在WCF Web服务或客户端中,您只需配置跟踪和/或消息日志记录即可。这可以在运行时完成,不需要更改代码。