WCF client hangs on service interruption

I have a pretty simple WCF service that does one-way file synchronization for a bunch of smart clients. I noticed that when a network or service is interrupted during a conversation, the client stops communicating with the server until the entire application is restarted.

The service works with BasicHttpBindingand is hosted on IIS6 (.svc page) using transferMode="Streamed"and messageEncoding="Mtom". The service is configured to use the default InstanceContextMode instance (I think it is for the call?) And ConcurrencyMode = Single. It uses the default throttling behavior, but I'm in an isolated test environment that no one gets into.

Clients are Windows services. I use this ServiceProxyHelper to ensure that the connections Close()' d or Abort()'d are correct when Dispose()' d, although there are no sessions, so I don't think it even matters. When an error occurs, the Client object is deleted and then goes out of scope. After an exception is detected, the service waits for a bit, then creates a new client object and tries again. Therefore, it should recover from the failure, but for some reason, all subsequent calls to the service do not work.

I can reliably reproduce this by running the client, allowing it to transfer multiple files, and then iisresetting the server. First, the client usually displays the โ€œService iso Busyโ€ error (which maps to the IIS 503 error that you receive when you restart the application). After that, all subsequent service timeout calls. As far as I can tell, calls are not even made by the client. I have tracing enabled, and I see: a timeout error, followed by the warning โ€œFailed to send a request message via HTTP,โ€ followed by another timeout error.

, Fiddler ( 8888) - app.config, . - Fiddler - , WCF .

?

2009-10-30 8:54 PM: : InstanceContextMode = Single ConcurrencyMode = Multiple. .

+3
2

, . , , , - <system.net>. , :

  <system.net>
    <settings>
      <servicePointManager expect100Continue="false" />
    </settings>
  </system.net>

- , ? , WCF ?

+2

, . Windows WCF , , ... becaues, .

, , , ... .

Windows.NET.NET.

0

Source: https://habr.com/ru/post/1721444/


All Articles