The Web Service Provider that we are using recommends NOT send Expect100Continue header.
The specifying static value
System.Net.ServicePointManager.Expect100Continue=false;
is not good, because some other providers may prefer to use the header.
In the haacked's "HttpWebRequest and the Expect: 100-continue Header Problem" post comment of Mirronelli Jun 02, 2005 6:22 AM suggest to specify webRequest.ServicePoint.Expect100Continue = false; for each webRequest.
If I am using web service(derived from SoapHttpClientProtocol) I can use ServicePointManager Class FindServicePoint method.
Uri uri=new Uri(xws.Url);
ServicePoint servicePoint = ServicePointManager.FindServicePoint(uri);
// Debug.Assert(servicePoint.Expect100Continue == false, "Investigate why not?.");
if (servicePoint.Expect100Continue == true)
{ //should happen only once for each URL
servicePoint.Expect100Continue = false;
}
