我们正在向各种客户端提供WCF服务,其中一个客户端收到以下错误。谷歌搜索后,我发现由于客户端超过其空闲时间,他们必须再次重新生成代理才能进行另一次呼叫。现在我的问题,我对这个问题的理解是正确的吗?如何通过重新生成代理来进行服务呼叫。
无法处理邮件。这很可能是因为操作“http://Service/Update”不正确,或者因为邮件包含无效或过期的安全上下文令牌,或者因为绑定之间存在不匹配。如果服务因不活动而中止通道,则安全上下文令牌将无效。要防止服务中止空闲会话,请过早增加服务端点绑定的接收超时。
答案 0 :(得分: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">