gpt4 book ai didi

c# - 如何禁用 Expect :100-Continue when using WCF in Windows Store App

转载 作者:太空狗 更新时间:2023-10-29 21:50:18 25 4
gpt4 key购买 nike

在 Windows 应用商店应用程序中使用 WCF 与 WebService 通信时,我需要摆脱 HTTP 消息中的 Expect: 100-Continue header 。我找到了很多解决方案,但在 Windows 8 中没有一个是可行的:

  1. ServicePoint.Expect100Continue = false; Store App 中不再存在(没有 SericePointServicePointManager 类),
  2. 我无法更改 web.config 文件中的配置,因为应用商店中不存在它,
  3. 可以更改 HttpClient 中的标志,但在使用 WCF 时我无法访问它,
  4. 我尝试使用 IClientMessageInspector 处理消息 header ,但稍后会在更高层添加默认 HTTP header ,因此我的更改将被覆盖。

还有人有其他想法吗?

最佳答案

有两种方法可以解决这个问题。

您可以在您的 app.config 或 web.config 中设置 expect100Continue="false",但这将是全局的。如果某些外部服务更喜欢使用 header 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

关于c# - 如何禁用 Expect :100-Continue when using WCF in Windows Store App,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22090147/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com