httpwebrequest基础连接已关闭



我正在使用HttpWebRequestPOST A字节数组图片通过Web服务,图片大小类似于byte[4096]

代码:

HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(wsHost);
webRequest.Headers.Add(HttpRequestHeader.AcceptEncoding, "gzip,deflate");
webRequest.Headers.Add(HttpRequestHeader.KeepAlive, "true");

我有一个错误:

The underlying connection was closed. A connection that was expected to be kept alive was closed by the server

是服务器问题,还是我的发布问题?

这可能是很多事情。您可以连接到服务器吗?

如果是这样,请尝试关闭预期100继续(在发布发布之前)通过

System.Net.ServicePointManager.Expect100Continue = false;

根据HTTP 1.1协议,当发送此标头时,未在初始请求中发送表单数据。相反,该标头发送到Web服务器,如果正确实现,则以100(继续)响应。但是,并非所有Web服务器都正确处理此操作,包括我试图发布数据的服务器。

通过http://haacked.com/archive/2004/05/15/http-web-request-expect-expect-100-continue.aspx

如果那不起作用:http://geekswithblogs.net/denis/enarchive/2005/08/16/50365.aspx建议,许多人通过将其请求作为http 1.0请求解决了:

HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(wsHost);
webRequest.KeepAlive = false;
webRequest.ProtocolVersion=HttpVersion.Version10;

相关内容

  • 没有找到相关文章

最新更新