在Windows Store App中使用WCF与WebService进行通信时,我需要删除HTTP消息中的Expect: 100-Continue
标头。
我找到了很多解决方案,但在Windows 8中没有一个是可能的:
ServicePoint.Expect100Continue = false;
(无SericePoint
或ServicePointManager
类),web.config
文件中的配置,因为它在Store App中不存在,HttpClient
中的标记,但在使用WCF时无法访问它,IClientMessageInspector
操纵邮件标头,但是稍后会在较高层中添加默认的HTTP标头,因此我的更改将是ovverriden。有没有人有其他想法?
答案 0 :(得分:3)
有两种方法可以解决这个问题。
您可以在app.config或web.config中设置expect100Continue =“false”,但这将是全局。如果某些外部服务更喜欢使用标头expect100Continue,这可能是一个问题。方法如下:
<system.net>
<settings>
<servicePointManager expect100Continue="false"/>
</settings>
</system.net>
或者您可以在代码中为特定端点执行此操作,如下所示:
System.Net.ServicePoint servicePoint =
System.Net.ServicePointManager.FindServicePoint(myWcfService.Endpoint.Address.Uri);
servicePoint.Expect100Continue = false;
// now execute some service operation