webclient和expect100继续

neb*_*nc1 9 c# wpf webclient http

使用WebClient(C#.NET)时设置expect100continue的最佳方法是什么.我在下面有这个代码,我仍然看到标题中有100个继续.愚蠢的apache仍抱怨505错误.

        string url = "http://aaaa.com";
        ServicePointManager.Expect100Continue = false;

        WebClient service = new WebClient();           
        service.Credentials = new NetworkCredential("username", "password");
        service.Headers.Add("Content-Type","text/xml");

        service.UploadStringCompleted += (sender, e) => CompleteCallback(BuildResponse(e));
        service.UploadStringAsync(new Uri(url), "POST", query);
Run Code Online (Sandbox Code Playgroud)

注意:如果我将上述内容放在控制台应用程序中并让它运行 - 那么我在fiddler中看不到标题.但是,我的代码嵌入在由WPF应用程序加载的用户库中.那么,在线程,初始化等方面还有更多的Expect100Continue.现在,我认为这更多是我的代码问题.

Tho*_*que 8

您需要为您正在访问的URI 设置用于的Expect100Continue属性ServicePoint:

var uri = new Uri("http://foo.bar.baz");
var servicePoint = ServicePointManager.FindServicePoint(uri);
servicePoint.Expect100Continue = false;
Run Code Online (Sandbox Code Playgroud)