2010-08-24 111 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

相關問題