C# HttpWebRequest基础连接已关闭

C# HttpWebRequest基础连接已关闭,c#,post,httpwebrequest,C#,Post,Httpwebrequest,我使用HttpWebRequest通过web服务发布一个字节数组图片,图片大小类似于byte[4096] 代码: 我得到一个错误: 基础连接已关闭。服务器关闭了预期保持活动状态的连接 是服务器问题还是我的发帖问题?可能有很多问题。您是否可以以其他方式连接到服务器 如果是这样,请尝试通过关闭预期的100 Continue(在发布帖子之前) 根据HTTP 1.1协议,发送此头时,表单数据不会随初始请求一起发送。相反,此头被发送到web服务器,如果实现正确,该服务器将以100(Continue)响应

我使用
HttpWebRequest
通过web服务发布一个字节数组图片,图片大小类似于
byte[4096]

代码:

我得到一个错误:

基础连接已关闭。服务器关闭了预期保持活动状态的连接

是服务器问题还是我的发帖问题?

可能有很多问题。您是否可以以其他方式连接到服务器

如果是这样,请尝试通过关闭预期的100 Continue(在发布帖子之前)

根据HTTP 1.1协议,发送此头时,表单数据不会随初始请求一起发送。相反,此头被发送到web服务器,如果实现正确,该服务器将以100(Continue)响应。但是,并不是所有的web服务器都能正确处理此问题,包括我试图向其发布数据的服务器

通过

如果这不起作用,另一个参考资料:建议许多人通过将其请求制作为HTTP 1.0请求来解决:

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

..以及设置
webRequest.KeepAlive=false时会发生什么?我将其更改为false。错误仍然是一样的。问题是帖子没有登录Fiddler。我假设您已经调试并发现
wsHost
实际上是您要发布到的有效URL?这是Fiddler代理问题,它关闭了连接。如何使其支持更大的数据发布?您是否使用旧版本的Fiddler?有人在这里描述类似的问题:是的,我把它关掉了。这只会在字节数组很大的时候发生。也许你应该用你尝试过的所有不同的东西来编辑你的初始帖子?出现此问题的原因有很多,我不希望继续建议您已经尝试过的东西。我使用fiddler,它会关闭连接。我可以在我的Wcf服务客户端上设置KeepAlive属性,但如何设置协议版本?顺便说一句,我的客户端应用程序在其他机器上运行良好。它在我的机器上不工作,这意味着我无法调试其他问题。在Windows7上运行了大约一年的windows更新后,它似乎停止了工作。
System.Net.ServicePointManager.Expect100Continue = false;
HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(wsHost);
webRequest.KeepAlive = false;
webRequest.ProtocolVersion=HttpVersion.Version10;