当提供有效正文时,HTTP POST在IIS 8.5上具有Request.Form.Count==0
本文关键字:Form Count Request IIS 正文 有效 POST HTTP | 更新日期: 2023-09-27 18:29:32
我们有一个简单的WCF REST服务,用于接收HTTP POST请求。我们通过检查Request.Form.Count > 0
来验证请求中是否有一些键值对。这在IIS 6/IIS 7(Server 2003/2008)上运行良好。但是,在IIS 8.5(Server 2012)上,由于Request.Form.Count
为零,请求验证失败。
请求的内容类型标头为application/x-www-form-urlencoded
同一请求的同一源代码如何在IIS 8.5之前工作,而在IIS 8.5上不工作?
值得一提的是,2012服务器是"无头"的,即没有运行的Explorer外壳。此外,我们可以看到请求的主体确实到达了服务器。这几乎就像是处理管道中的某个东西正在删除它。
解决方案就在这里。不要使用HttpContext.Current.Request.Form
。使用隐式Stream
。