Экспорт (0) Печать
Развернуть все
Данная статья переведена автоматически. Наведите указатель мыши на предложения статьи, чтобы просмотреть исходный текст. Дополнительные сведения.
Перевод
Текст оригинала

Binding.ReceiveTimeout - свойство

Возвращает или задает интервал времени бездействия подключения, в течение которого сообщения приложения не получаются, до его сброса.

Пространство имен:  System.ServiceModel.Channels
Сборка:  System.ServiceModel (в System.ServiceModel.dll)

public TimeSpan ReceiveTimeout { get; set; }

Значение свойства

Тип: System.TimeSpan
Значение Timespan, которое задает время, выделенное для получения приложением сообщения до истечения времени ожидания. Значение по умолчанию — 10 минута.

Реализации

IDefaultCommunicationTimeouts.ReceiveTimeout

ИсключениеУсловие
ArgumentOutOfRangeException

Заданное значение меньше нуля или слишком велико.

При работе с надежным сеансом используются два разных таймера периода бездействия, значениям которых необходимо следовать для поддержки подключения. По истечении времени любого из таймеров периода бездействия соединение сбрасывается.

  • Первый таймер периода бездействия находится в надежном сеансе и называется InactivityTimeout. Этот таймер периода бездействия запускается, если в течение времени ожидания сообщения приложения или инфраструктуры не были получены. Сообщение инфраструктуры — это сообщение, созданное для одного из протоколов в стеке каналов, например поддержки активности или подтверждения, оно не содержит данные приложения.

  • Второй таймер периода бездействия находится в службе и использует параметр ReceiveTimeout привязки. Этот таймер периода бездействия запускается, если в течение времени ожидания сообщения приложения не были получены. Этим задается, например, максимальное время для отправки по крайней мере одного сообщения клиентом серверу до закрытия им канала, используемого сеансом. Такое поведение гарантирует, что клиенты не смогут удерживать ресурсы сервера довольно продолжительное время.

Поскольку подключение сбрасывается, когда включается любой из таймеров, увеличение значения InactivityTimeout, если оно больше значения ReceiveTimeout, не оказывает никакого влияния. Значение по умолчанию для обоих таймеров составляет 10 минут, поэтому всегда следует увеличивать значения обоих таймеров, чтобы провести различие при использовании надежного сеанса.

Если поток транзакций разрешен в привязке или канале, выполнение операции может занять больше времени, чем заданное время ожидания. В этом случае выполнение операции завершается с ошибкой в связи с истечением времени ожидания и транзакция прерывается автоматически.

Если используется безопасность с сеансами, ReceiveTimeout значение, установленое на привязку также используется как время ожидания сеанса.

.NET Framework

Поддерживается в версиях: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0

.NET Framework (клиентский профиль)

Поддерживается в версиях: 4, 3.5 с пакетом обновления 1 (SP1)

Переносимая библиотека классов

Поддерживается в версии: Переносимая библиотека классов

Приложения .NET для Магазина Windows

Поддерживается в версии: Windows 8

Приложения .NET для Windows Phone

Поддерживается в версиях: Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista с пакетом обновления 2 (SP2), Windows Server 2008 (роль основных серверных компонентов не поддерживается), Windows Server 2008 R2 (роль основных серверных компонентов поддерживается в пакете обновления 1 (SP1) или выше; системы на базе Itanium не поддерживаются)

.NET Framework поддерживает не все версии каждой платформы. Поддерживаемые версии перечислены в разделе Требования к системе для .NET Framework.

Добавления сообщества

ДОБАВИТЬ
Показ:
© 2014 Microsoft