Tempo limite de inatividade do WCF

Eu criei um serviço WCF muito simples, hospedado no serviço do Windows, seguindo de perto o exemplo no MSDN aqui: http://msdn.microsoft.com/en-us/library/ff649818.aspx

Se eu fizer uma segunda chamada para o meu serviço> 10 minutos após a minha primeira chamada, receberei um erro de tempo limite de inatividade. Eu entendo que esta é a configuração padrão do cliente WCF.

No entanto, quando eu mudo o meu app.config de

 

para

   

Eu recebo este erro quando tento fazer uma chamada:

A mensagem com Ação ‘http://schemas.xmlsoap.org/ws/2005/02/rm/CreateSequence’ não pode ser processada no destinatário, devido a uma incompatibilidade de ContractFilter no EndpointDispatcher. Isso pode ser devido a uma incompatibilidade de contrato (Ações incompatíveis entre remetente e destinatário) ou a uma incompatibilidade de binding / segurança entre o remetente e o destinatário. Verifique se o remetente e o destinatário têm o mesmo contrato e a mesma binding (incluindo requisitos de segurança, por exemplo, Mensagem, Transporte, Nenhum).

É assim que meu arquivo de configuração do WCF se parece no serviço do Windows.

                          

Minha pergunta seria: como definir o inactivityTimeout como inifinte e contornar os erros que estou recebendo?

Eu acho que você precisa definir também o receiveTimeout na binding para infinito. Essas duas propriedades, receiveTimeout e inactivityTimeout possuem algumas dependencies uma da outra, se você definir o inactivityTimeout como um valor mais alto que o receiveTimeout, poderá obter alguns erros.

Por exemplo:

         

e coloque bindingConfiguration = “someServiceFederatedBinding” em seu serviço.