【问题标题】:Regenerating Proxy for WCF Service为 WCF 服务重新生成代理
【发布时间】:2011-04-03 08:34:08
【问题描述】:

我们正在向各种客户提供 WCF 服务,其中一个客户收到以下错误。谷歌搜索后,我发现由于客户端超过了它的空闲时间,他们必须再次重新生成代理才能进行另一个调用。现在我的问题是,我对这个问题的理解是否正确?如何在不重新生成代理的情况下进行服务调用。

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

【问题讨论】:

    标签: wcf


    【解决方案1】:

    如错误信息所示,您是否在配置文件中为绑定增加了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">
    

    【讨论】:

    • 我必须问我的服务消费者这个问题。但是我们能否在不增加超时的情况下实现这一目标?
    • 其实我想说你必须增加服务端的超时时间,而不是消费者端,因为看起来服务器正在关闭连接......
    • 你必须在客户端和服务器上都增加它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-02-15
    • 1970-01-01
    • 1970-01-01
    • 2010-12-20
    • 1970-01-01
    • 2011-08-31
    相关资源
    最近更新 更多