Этот синтаксис я использую в web.config.
web.config
Но мой сеанс истекает через 10-15 минут, не дольше 2 часов.
<sessionState cookieless="UseCookies" cookieName="ASP.NET_SessionId180" mode="InProc" timeout="120" />
Одной из возможных причин является то, что домен приложения перерабатывается IIS.А так как вы используете состояние сеанса InProc, вся память домена приложения стирается.IIS может перезапустить AppDomain при других обстоятельствах: достигнут определенный период неактивности или пороговые значения CPU / памяти.
Подробнее об этом можно прочитать в следующей записи блога .
Поскольку вы используете состояние сеанса InProc, возможно, что пул перезапускается из-за некоторых действий: изменения web.config, копирования файлов в папку bin, ... Проверьте также параметры переработки бассейна. Вы можете попробовать использовать опцию StateServer для вашего сеанса. Для этого вам нужно запустить службу состояний ASP.NET и убедиться, что ваши объекты помечены как сериализуемые.
«Рабочий», скорее всего, тот, кто вызывает вашу проблему Если он перезапустится, он сбросит сеанс, если он простаивает достаточно долго.
Проверьте настройку IIS AppPool и увеличьте время ожидания простоя.