当提供有效正文时,HTTP POST在IIS 8.5上具有Request.Form.Count == 0

时间:2014-11-07 17:11:51

标签: c# asp.net .net iis-8.5

我们有一个简单的WCF REST服务,可以接收HTTP POST请求。我们通过检查Request.Form.Count > 0这在IIS 6 / IIS 7(Server 2003/2008)上运行良好和花花公子来验证请求中是否有一些键值对。但是,在IIS 8.5(Server 2012)上,请求验证失败,因为Request.Form.Count为零。

请求中的Content-Type标头为application/x-www-form-urlencoded

同一请求的相同源代码如何在IIS 8.5之前工作,而不是在IIS 8.5上工作?

可能值得一提的是2012服务器是“无头”的,即没有运行的Explorer shell。此外,我们可以看到请求的正文到达服务器。它几乎就像处理管道中的东西正在删除它。

1 个答案:

答案 0 :(得分:0)

解决方法是herehere。不要使用HttpContext.Current.Request.Form。使用隐式Stream