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/pt-br/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 meu app.config de
<reliableSession ordered="true" inactivityTimeout="00:10:00"
enabled="false" />
para
<reliableSession ordered="true" inactivityTimeout="infinite"
enabled="true" />
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 ligação / 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 ligação (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.
<system.serviceModel>
<services>
<service name="Asis.IBSS.Milestone.WCFService.ServiceImplementation.VideoService">
<endpoint address="" binding="netTcpBinding" bindingConfiguration="" contract="Asis.IBSS.Milestone.WCFService.ServiceContract.IVideoService">
<identity>
<dns value="localhost"/>
</identity>
</endpoint>
<endpoint address="mex" binding="mexTcpBinding" bindingConfiguration="" contract="IMetadataExchange"/>
<host>
<baseAddresses>
<add baseAddress="net.tcp://localhost:8555/MilestoneService"/>
</baseAddresses>
</host>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="">
<serviceMetadata httpGetEnabled="false"/>
<serviceDebug includeExceptionDetailInFaults="false"/>
</behavior>
</serviceBehaviors>
</behaviors>
Minha pergunta seria: como definir o inactivityTimeout como inifinte e contornar os erros que estou recebendo?