Уточните у провайдера хостинга, что ваше приложение не размещается на сервере с балансировкой нагрузки.Если сервер сбалансирован по нагрузке, ваши пользователи потеряют информацию о состоянии сеанса, когда подсистема балансировки нагрузки отправит запрос на другой сервер.Существует 3 параметра свойства режима состояния сеанса: InProc - локально хранит информацию о состоянии на сервере, с которого сделан запрос (действует только тогда, когда приложение размещается на одном сервере с балансировкой без нагрузки).среда) StateServer - Позволяет специально сконфигурированному серверу размещать информацию о состоянии всей веб-фермы (я полагаю, что StateServer начал предлагаться в .NET Framework v2.0). SqlServer - позволяет специально настроенному экземпляру SQL Server хранить информацию о сеансе для веб-фермы [Эта информация может незначительно отличаться в сценарии веб-сада.]
См. MSDN для получения дополнительной информации о состоянии сеанса.
Это может происходить очень случайным образом в зависимости от настроек балансировки нагрузки (например, с фиксированной балансировкой нагрузки) и может работать в течение нескольких минут один раз, а в следующий раз - почти сразу.
Другая возможность - это свойство timeout параметра sessionstate в web.config, для которого установлено низкое значение (в минутах), и сеанс истекает.