2013-03-11 69 views
6

关于这个话题有很多问题,但是 - 他们没有给我答案。预计:100-继续

从建议 - 有一个设置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

+0

您不使用'sp'创建webrequest。 “Expect100Continue”标志将如何传播? – Tawnos 2013-03-11 14:41:16

+0

我认为这个设置绑定到Uri。 – Hikiko 2013-03-11 14:43:46

回答

23

你可以这样来做:

_request.ServicePoint.Expect100Continue = false; 

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

+0

或者,编辑web | app.config: foxontherock 2016-03-29 17:19:28