1

We have a simple WCF REST service that receives HTTP POST requests. We validate the the request has some key-value pairs in it by checking that Request.Form.Count > 0 This works fine-and-dandy on IIS 6 / IIS 7 (Server 2003 / 2008). However, on IIS 8.5 (Server 2012), the request fails validation as Request.Form.Count is zero.

Content-Type header on request is application/x-www-form-urlencoded

How can the same source code for the same request work pre IIS 8.5, but not on IIS 8.5?

Might be worth mentioning that the 2012 server is "headless" i.e. has no running Explorer shell. Also, we can see that the request's body does arrive at the server. It's almost like something in the processing pipeline is removing it.

4

1 回答 1

0

The solution to this is here and here. Don't use HttpContext.Current.Request.Form. Use the implicit Stream.

于 2014-11-13T10:41:11.373 回答