We have a WCF application (it's actually a SyncFx application, but that is not really relevant) when uses reliable session and message level security. The scenario is:
Session is started by service request with IsInitiating attribute. Dozens of service requests are sent from client to server with a typical response time of 1 second.
A final service request is sent from the client to the server with a typical response time of somewhere between 2 and 10 seconds.
Session is terminated by service request with Isterminating attribute set true.
Nothing special there. Or so it seems.
It works fine, so long as the service response time for the final request is less than about 2.5 seconds. Otherwise, it faults out during the final request, for example when the service response time is, say, 5 seconds.
Here is what actually happens, as determined by full WCF tracing on both client and server side, when this was the only thing happening in IIS:
The final request is sent from the client by WCF. The server IIS (6.0, the same w3wp process that received all of the prior requests for this session) receives the request and dispatches the service code to execute it.
The service code starts to execute the request. After approximately 2.5 seconds of sending the original final request, having not received a HTTP response, the client WCF resends the final request. I presume this is &qu
View Complete Post