WCF service fails every 23 hours with "Request timeout to wait for response after 00:01:00"

We have a WCF service hosted in a Windows service. Right now we are faced with really strange behavior with it, that is, every 23 hours, approximately, the service throws an exception for every call it calls with the following error:

Server was unable to process request. ---> The request channel timed out while waiting for a reply after 00:01:00. Increase the timeout value passed to the call to Request or increase the SendTimeout value on the Binding. The time allotted to this operation may have been a portion of a longer timeout.---> The HTTP request to 'http://servername:8016/servicio/Autorizaciones' has exceeded the allotted timeout of 00:01:00. The time allotted to this operation may have been a portion of a longer timeout.---> The operation has timed out.

The duration of the failure is 4 to 6 minutes and, without touching anything at all, the service then exits the failure, and the following responses are in order, for the next 23 hours, and then again an error.

As indicated above, the WCF service runs independently in the Windows service installed on Windows 2008 Server. The clients calling this service are two different Asp.NET web services, one of which runs on the same server, and the other on a virtual server in a production environment. Both clients presented the same problem.

The configuration of the complete environment is as follows: telephone calls are received in an IVR system (say, node 1), which calls a web service (node ​​2), which retrieves some information about the client’s call. As soon as the client confirms the operation, the IVR calls the web service (node ​​2), which passes the call to the WCF service (node ​​3) to process the credit operation. WCF then performs a TCPIP socket operation through a VPN connection to another object (node ​​4). This message lasts from 3 to 10 seconds, is registered in a permanent database and then sent back along the same path to the client (node ​​3, 2 and 1). This platform processes about 2000 transactions per day, 24/7, with the exception of those that do not work with a timeout. The reason that the transaction transferred to the second service is for security purposes.The amount of data exchange in each call is about 200 or 300 bytes.

Ive , , stackoverflow ( WCF), , , , google. .

TCPIP . 9 . , .

concurrency ConcurrencyMode.Multiple , , - , 2 , wcf- 30 . . , concurrency, , - 9 . , , .

- , , , .

, , , , , . , , , , , .

.

+3
2

, 23 , , ( 4 - 6 , , ).

- 2, .

, , , .

NET CLR :. # Gen 2 Collections

WCF

[ , - ?   ?]

+1

? , ?

MaxClockSkew.

0

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


All Articles