pat*_*dge 9 c# iis-7 webrequest
我是否需要在WebRequest对象中打一些随机垃圾数据以获取IIS上的HTTP状态码411限制?
我在MVC 3应用程序中有一个HttpPost操作方法,该方法使用一个POST请求,其中包含在查询字符串中传递的所有相关信息(不需要正文).
[HttpPost] public ActionResult SignUp(string email) { ... }
Run Code Online (Sandbox Code Playgroud)
它在Visual Studio内置的Web主机Cassini中运行良好.不幸的是,一旦MVC代码在IIS [7.5 on 2008 R2]上运行,当我从外部C#表单应用程序点击它时,服务器正在回调HTTP错误代码.
远程服务器返回错误:(411)长度必需.
这是调用代码:
WebRequest request = WebRequest.Create("http://somewhere.com/signup/?email=a@b.com");
request.Method = "POST";
using (WebResponse response = request.GetResponse())
using (Stream responseStream = response.GetResponseStream())
using (StreamReader responseReader = new StreamReader(responseStream)) {
// Do something with responseReader.ReadToEnd();
}
Run Code Online (Sandbox Code Playgroud)
pat*_*dge 21
事实证明,在发送请求之前,只需在请求上打一个空的内容长度即可完成此操作.
WebRequest request = WebRequest.Create("http://somewhere.com/signup/?email=a@b.com");
request.Method = "POST";
request.ContentLength = 0;
Run Code Online (Sandbox Code Playgroud)
不确定如何明确地给出一个空的长度而不是暗示一个有所作为,但IIS在我做之后很高兴.可能有其他方法,但这似乎很简单.
| 归档时间: |
|
| 查看次数: |
13738 次 |
| 最近记录: |