我想检查我的Web服务方法收到的原始数据字符串(原始xml)(用于记录和调试)。
我看到了建议:在HttpApplication中处理'BeginRequest'事件。但我不知道'Request'对象的哪个字段包含这个POST数据?
答案 0 :(得分:1)
相关问题:Getting RAW Soap Data from a Web Reference Client running in ASP.net
我在web.cofig中进行了以下更改 获取SOAP(请求/响应) 信封。它使trace.log文件 所有必需信息都在哪里 本
<system.diagnostics> <trace autoflush="true"/> <sources> <source name="System.Net" maxdatasize="1024"> <listeners> <add name="TraceFile"/> </listeners> </source> <source name="System.Net.Sockets" maxdatasize="1024"> <listeners> <add name="TraceFile"/> </listeners> </source> </sources> <sharedListeners> <add name="TraceFile" type="System.Diagnostics.TextWriterTraceListener" initializeData="trace.log"/> </sharedListeners> <switches> <add name="System.Net" value="Verbose"/> <add name="System.Net.Sockets" value="Verbose"/> </switches>
答案 1 :(得分:1)
将所有请求发布数据保留在请求对象中是没有意义的,因为它可能包含上传的文件并且非常大。
我有两种解决方案:
1)在服务器上使用 Fiddler 并在本地浏览网站(使用服务器名称而不是localhost,因为Fiddler无法显示localhost请求/响应)
2)使用System.Net
跟踪:http://support.microsoft.com/kb/947285
您也可以使用WireShark来查看数据包,但这不会保留请求响应上下文。