2012-10-09 169 views
2

正如标题所说,我需要设置该标志为false,我的应用程序,就像这样:ServicePoint.Expect100Continue为Windows商店应用

ServicePoint.Expect100Continue = false; 

但是既不的ServicePoint也不ServicePointManager是可访问的,我不能找到另一种设置此属性的方法。另外,没有app.config,因此通过配置来设置也是不可能的。

如果我不设置这个为false,该标志在请求中发送并发生CommunicationException。

我不能更改服务器代码,我只是服务器数据的消费者。

该服务添加了“添加服务引用”对话框。在任何方法调用的结果:

The underlying connection was closed: An unexpected error occurred on a receive. 

当我打电话相同的服务,加入从控制台应用程序“添加服务引用”,有相同的错误。原因是Expect100Continue属性。如果我删除它using the usual methods,它在控制台应用程序中起作用。

因此,我想知道Windows Store应用程序的等效物。

+0

发布所有异常,以及如何发送请求。 – Reniuz

+0

@Reniuz我增加了一些信息,但我很确定我知道如何在技术上解决它(设置属性为false),但在windows应用程序中没有obvios方法。 – UrbanEsc

回答

0

我最终从“添加服务引用”中获取自动生成的类并自己对它们进行序列化。然后我使用HttpClient来拨打我的电话。可以像这样设置ExpectContinue标志:

using (HttpClient client = new HttpClient()) 
{ 
     client.DefaultRequestHeaders.ExpectContinue = false; 

     ....code! 
}