Тайм-ауты WCF Сервисы - PullRequest
       28

Тайм-ауты WCF Сервисы

61 голосов
/ 23 октября 2008

Как работают тайм-ауты в WCF? Например, я знаю, что для привязки клиентов можно настроить sendTimeout и receiveTimeout . Но как они работают?

MSDN описывает sendTimeout как:

Значение TimeSpan, которое указывает интервал времени, предоставленный для отправить операцию для завершения. Это значение должно быть больше или равно в ноль. По умолчанию используется значение 00: 01: 00.

Что такое операции отправки / получения?

Ответы [ 3 ]

61 голосов
/ 23 октября 2008

Клиентская сторона:

  • SendTimeout используется для инициализации OperationTimeout, который управляет всем взаимодействием при отправке сообщения (включая получение ответного сообщения в случае запроса-ответа). Этот тайм-аут также применяется при отправке ответных сообщений из метода CallbackContract.
  • OpenTimeout и CloseTimeout используются при открытии и закрытии каналов (когда не передано явное значение тайм-аута).
  • ReceiveTimeout не используется.

Сторона сервера:

  • Время ожидания отправки, открытия и закрытия такое же, как на клиенте (для обратных вызовов).
  • ReceiveTimeout используется слоем ServiceFramework для инициализации тайм-аута простоя сеанса.

Источник: Брайан Макнамара на форумах MSDN .

9 голосов
/ 16 октября 2011

См. «Тайм-ауты в WCF и их значения по умолчанию» http://blogs.msdn.com/b/hongmeig/archive/2010/03/06/timeouts-in-wcf-and-their-default-values.aspx

Тайм-ауты для привязки-SendTimeout, ReceiveTimeout, OpenTimeout и CloseTimeout. Их можно легко установить либо через конфиг или код на привязке. Значением по умолчанию для них являются 1 минута.

ServiceHost имеет OpenTimeout и CloseTimeout. По умолчанию для OpenTimeout равен 1 минуте, а по умолчанию для CloseTimeout - 10 секунд.

Тайм-ауты на клиентском канале. Существует OperationTimeout, который Вы можете установить его, приведя канал к IContextChannel. По умолчанию для этого тоже 1 минута. Ttimeout на tcp транспорт, называется ChannelInitializationTimeout, и его значение по умолчанию составляет 5 секунд.

ASPNET. Есть тайм-аут отключения, так же, как хост службы закрыть время ожидания по умолчанию составляет 90 секунд. ExecutionTimeout, как и наш Тайм-аут операции, по умолчанию 110 секунд.

4 голосов
/ 10 сентября 2009

В дополнение к тому, что было на этом посте, есть также тайм-аут операции, определенный на стороне клиента. Смотрите это:

http://final -proj.blogspot.com / 2009/09 / ФОС-timeouts.html

...