Подтвердить что ты не робот

Какова цель надежной сессии WCF?

Документация по этой теме плохой. Я использую службы WCF с NetTcpBinding, размещенные в службе Windows. Проблема в том, что сеанс отключается, когда он неактивен в течение некоторого времени. Мне нужна сессия, которая всегда жива. Является ли WCF надежным сеансом что-то, что может помочь? Или я могу просто играть с настройками таймаута?

4b9b3361

Ответ 1

Нет, надежный сеанс будет тайм-аут, как и любой другой сеанс. Главный вопрос на самом деле: почему вы хотите, чтобы ваши сессии были "бесконечными"? Если вам это действительно нужно, вам нужно отключить таймауты на сеансе.

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

Ознакомьтесь с некоторыми из этих ресурсов для получения дополнительной информации:

Ответ 2

Если вы не используете канал, он закроется через некоторое время. вы можете изменить таймаут по умолчанию (который составляет 10 минут) из привязки.

NetTcpBinding binding = new NetTcpBinding();
binding.ReceiveTimeout = TimeSpan.MaxValue;
binding.ReliableSession.InactivityTimeout = TimeSpan.MaxValue;

читайте больше на MSDN