Hi folks,
i wrote a WCF service using NetNamedPipeBin ding and client callback
contracts.
My problem occurs when clients stay in idle for more than 10 minutes. The
communication channel gets closed and the client proxy isn't valid anymore.
So i worked around this with recreating client proxys when they become
invalid (unfortunately setting timeout values didn't help).
But now the callback channels aren't valid anymore and i'm not receiving any
callbacks from the server anymore if a client has recreated his proxy.
Is there any way to refresh the callback channels as well or even better:
Is there a way the connection between server and client can be kept open
"forever" (without a timeout) ?
I found something like this on the net to set the IdleTimeout Property for
Net.Tcp Bindings:
NetNamedPipeBin ding netNamedPipeBin ding = new NetNamedPipeBin ding();
CustomBinding pipeBinding = new CustomBinding(n etNamedPipeBind ing);
pipeBinding.Ele ments.Find<Name dPipeTransportB indingElement>( ).ConnectionPoo lSettings.IdleT imeout
= TimeSpan.FromMi nutes(5);
But unfortunately this didn't effect the behavior and the communication
channel still gets invalidated after 10 minutes.
Any help would be greatly appreciated!
Thanks a lot in advance!
Markus
i wrote a WCF service using NetNamedPipeBin ding and client callback
contracts.
My problem occurs when clients stay in idle for more than 10 minutes. The
communication channel gets closed and the client proxy isn't valid anymore.
So i worked around this with recreating client proxys when they become
invalid (unfortunately setting timeout values didn't help).
But now the callback channels aren't valid anymore and i'm not receiving any
callbacks from the server anymore if a client has recreated his proxy.
Is there any way to refresh the callback channels as well or even better:
Is there a way the connection between server and client can be kept open
"forever" (without a timeout) ?
I found something like this on the net to set the IdleTimeout Property for
Net.Tcp Bindings:
NetNamedPipeBin ding netNamedPipeBin ding = new NetNamedPipeBin ding();
CustomBinding pipeBinding = new CustomBinding(n etNamedPipeBind ing);
pipeBinding.Ele ments.Find<Name dPipeTransportB indingElement>( ).ConnectionPoo lSettings.IdleT imeout
= TimeSpan.FromMi nutes(5);
But unfortunately this didn't effect the behavior and the communication
channel still gets invalidated after 10 minutes.
Any help would be greatly appreciated!
Thanks a lot in advance!
Markus