期待:100-继续

时间:2013-03-11 14:38:05

标签: c# http post

关于这个话题有很多问题,但是 - 他们没有给我答案。

从建议开始 - 有一个设置ServicePointManager.Expect100Continue = false。但这是不可接受的,因为这将是一个模块,与其他十几个同步工作。如此可接受的解决方案 - 是每个连接属性。有建议如何设置它,但它似乎没有工作。

以下是代码:

var conuri = new Uri(connectionString);
var sp = ServicePointManager.FindServicePoint(conuri);
sp.Expect100Continue = false;

_request = (HttpWebRequest)WebRequest.Create(conuri);
_request.ContentType = "text/xml";
_request.Method = "POST";

_request.ContentLength = dataToSend.Length;
requestStream = _request.GetRequestStream();
requestStream.Write(dataToSend, 0, dataToSend.Length);

问题是,在“requestStream.Write”点 - 仍然添加了标题Expect: 100-continue,但它不应该根据我在此处阅读的建议:C# Expect100Continue header request

2 个答案:

答案 0 :(得分:29)

你可以这样做:

_request.ServicePoint.Expect100Continue = false;

这将禁用特定Expect: 100-continue实例的HttpWebRequest

答案 1 :(得分:0)

当此属性设置为 true 时,使用 POST 方法的客户端请求期望从服务器接收 100-Continue 响应,以指示客户端应发送要发布的数据。当服务器根据请求标头打算拒绝请求时,此机制允许客户端避免通过网络发送大量数据。

<块引用>

ServicePointManager.Expect100Continue = true;