2014-03-05 3 views
5

ich das Erwarten löschen möchte: 100-Continue-Header, der von dem zugrunde liegenden HttpWebRequest in Basichttpbinding verwendet hinzugefügt wird. Ich bin mir der Option bewusst, ServicePointManager.Expect100Continue einfach auf false festzulegen. Das Problem bei diesem Ansatz besteht jedoch darin, dass er global ist, d. H. Er gilt für alle Webanfragen, die in dem Prozess initiiert werden. Ich möchte den Umfang auf einen bestimmten WCF-Proxy beschränken. Mit einem ASMX Proxy einfach zu sein, diese verwendet - ich würde einfach die generierte Proxy-Unterklasse, die eine Unterklasse von Soaphttpclientprotocol und GetWebRequest außer Kraft setzen. Ich würde dann die Basisimplementierung aufrufen und Expect100Continue für das zurückgegebene Webanforderungsobjekt festlegen.Entfernen erwartet: 100 weiterhin von Basichttpbinding

Ich versuche, einen ähnlichen Ansatz mit WCF anzuwenden, sondern kann durch den Transportkanal nicht ganz ein Verfahren finden, um „Intercept“ die HttpWebRequest erstellt. Ist das möglich?

Antwort

0

Sie können es im Code tun für einen bestimmten Endpunkt wie folgt:

System.Net.ServicePoint servicePoint = 
    System.Net.ServicePointManager.FindServicePoint(myWcfService.Endpoint.Address.Uri); 

servicePoint.Expect100Continue = false; 
// now execute some service operation 

Ich glaube nicht sein mögliches es über die Config zu tun.

+0

P. S. Wenn Ihr mit einem Web-Proxy ihnen System.Net.ServicePoint servicepoint = System.Net.ServicePointManager.FindServicePoint (accountFilteringClient.Endpoint. Address.Uri, neue WebProxy ("myproxy.com:8080")); – AntonK

Verwandte Themen