服务器端重定向截断请求有效负载

时间:2011-11-22 16:20:54

标签: c# asp.net iis c#-4.0 iis-6

我在IIS 6上,我有一个ASP.Net 4.0站点,它是一个单独的页面,用作SOAP反向代理。我必须修改返回内容,以便从响应中删除故障节点并添加跟踪节点。

为了方便其作为所有地址的反向代理的功能,我将服务器上的404设置为“/default.aspx”的自定义“URL”(我的应用程序的页面)

对于没有有效负载的请求,它可以完美运行 - 例如?WSDL Urls。它从目标系统请求正确的URL,获取响应并将其发回 - 在这方面它非常透明。

但是,当使用输入有效负载进行SOAP请求时,代码中的Request.InputStream始终为空。空 - 有一个例外 - 使用SOAPUI,我可以覆盖端点并将请求直接发送到/default.aspx,它将接收输入有效负载。因此,我已经确定自定义404处理程序是 - 当服务器端传输请求时 - 剥离有效负载。我知道有效载荷正在发送 - 我甚至还在服务器上对它进行了连线确认。但是当我添加代码来记录Request.InputStream的内容时,它是空白的 - 即使Request.ContentLength显示原始请求的正确内容长度。

我一直在寻找一种好方法来使用ASP.Net直接拦截请求而不是允许正常的IIS 404处理程序来处理它,但即使使用通配符映射,我似乎也无法获得设置正确,我也完全相信它会有所帮助。 (但我希望它能吗?)

最后,我没有企业许可安装MVC框架。

因此,我需要一些IIS缺少的配置才能使其正常工作,或者需要一些其他方法来确保我将请求有效负载发送到我的网页。

谢谢!

1 个答案:

答案 0 :(得分:1)

使用映射到所有请求的HTTP处理程序怎么样?

您需要正确添加a wildcard application mapping as detailed here configure your HTTP Handler