2010-08-24 114 views
0

我们向各种客户端提供WCF服务,其中一个出现以下错误。 Google搜索后,我发现由于客户端超出了其空闲时间,他们必须再次重新生成代理才能拨打另一个电话。现在我的问题是,我对这个问题的理解是正确的?如何在重新生成代理时拨打服务电话。为WCF服务重新生成代理

该消息无法处理。这很可能是因为操作'http://Service/Update'不正确,或者因为消息包含无效或过期的安全上下文令牌或者因为绑定之间存在不匹配。如果服务由于不活动而中止通道,则安全上下文令牌将无效。为防止服务过早地中止空闲会话,会增加服务端点绑定的接收超时。

回答

0

如错误消息所示,是否增加了配置文件中绑定的receiveTimeout属性?从MSDN here

例子:

<binding name="WSHttpBinding_ISampleService" closeTimeout="00:01:00" 
       openTimeout="00:01:00" receiveTimeout="00:01:00" sendTimeout="00:01:00" 
       bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard" 
       maxBufferPoolSize="524288" maxReceivedMessageSize="65536" 
       messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true" 
       allowCookies="false"> 
+0

我要问我的服务消费这个问题。但是,我们能否实现这种惊人的超时? – Amzath 2010-08-24 18:50:21

+0

实际上,我会说你必须增加服务端的超时时间,而不是消费端,因为它似乎服务器正在关闭连接... – 2010-08-24 20:07:11

+1

你必须在客户端和服务器上增加它。 – flayn 2011-06-08 15:23:17

相关问题