WCF不活动超时

我创建了一个非常简单的WCF服务,托管在Windows服务上,密切关注MSDN上的示例: http : //msdn.microsoft.com/en-us/library/ff649818.aspx

如果我在第一次通话后第二次拨打我的服务> 10分钟,我将收到一个非活动超时错误。 我知道这是WCF客户端的默认设置。

但是,当我更改我的app.config时

 

   

我尝试拨打电话时收到此错误消息:

由于EndpointDispatcher上的ContractFilter不匹配,因此无法在接收方处理带有Action“http://schemas.xmlsoap.org/ws/2005/02/rm/CreateSequence”的消息。 这可能是由于合同不匹配(发送方与接收方之间的操作不匹配)或发送方与接收方之间的绑定/安全性不匹配。 检查发送方和接收方是否具有相同的合同和相同的绑定(包括安全要求,例如消息,传输,无)。

这就是我的WCF配置文件在Windows服务上的样子。

                          

我的问题是,如何将不活动时间设置为inifinte,并规避我得到的错误?

我认为你需要将绑定上的receiveTimeout设置为无限。 这两个属性,receiveTimeout和inactivityTimeout彼此之间存在一些依赖关系,如果将inactivityTimeout设置为高于receiveTimeout的值,则可能会出现一些错误。

例如:

         

并在您的服务中放置bindingConfiguration =“someServiceFederatedBinding”。