从Application_BeginRequest或Application_EndRequest中检索webmethod参数值

时间:2010-06-16 22:23:12

标签: .net asp.net soap httpwebrequest asmx

有没有办法从Request对象中检索传递给Web方法的参数名称和值?我在某处读到你需要额外的代码才能访问soap body。任何已知的解决方法都能从Application_BeginRequest中看到soap主体? 谢谢!

2 个答案:

答案 0 :(得分:2)

如果在这种情况下触发了这些事件,您可以通过调用:

来读取请求的xml内容
Request.InputStream.Read(...);

然后:

 Request.InputStream.Seek(0, SeekOrigin.Begin);

重置InputStream位置。

答案 1 :(得分:1)

ASMX Web服务不使用完整的ASP.NET管道。我不相信这两个事件甚至会引发网络服务。

要访问SOAP数据流,您需要实现SoapExtension


当然,我也应该借此机会提醒读者,微软现在认为ASMX网络服务是一种“传统技术”。他们建议所有新的Web服务开发都应该使用WCF。