WCF 4.0 REST Длительная операция, размещенная в IIS. Нет ответа через 1 час.

У меня есть служба WCF REST 4.0, размещенная в IIS. Когда я выполняю операцию отдыха, выполнение которой занимает более часа, она никогда не возвращает ответ клиенту. Вместо этого я получаю следующее исключение через 4 часа:

"Истекло время ожидания канала запроса при ожидании ответа после 03: 59: 59.9979998. Увеличьте значение тайм-аута, передаваемое вызову для запроса, или увеличьте значение SendTimeout в привязке. Время, отведенное для этой операции, могло быть часть более длительного тайм-аута "

Я установил WebHttpBinding SendTimeout и ReceiveTimeout как на клиенте, так и на сервере на 4 часа. Я также установил asp.net httpRuntime executionTimeout = "7200".

Я точно знаю, что операция службы завершается большую часть времени чуть более чем за 1 час (ведение журнала приложения). Если это происходит быстрее, чем за час, ответ возвращается идеально.


person Grant    schedule 10.08.2011    source источник


Ответы (1)


Я думаю, вы используете способ запроса-ответа для вызова службы, и ваш клиент ждет 1 час, чтобы получить ответ, почему бы не использовать операцию обратного вызова, чтобы служба могла отправить ответ клиенту, когда это будет сделано, и клиенту не понадобится ждать?

person Jack    schedule 11.08.2011