Вы можете указать значение Session.Timeout в минутах.
Либо ваши страницы опрашивают сервер каждые n минут (это будет делать функция javascript, либо вы можете использовать фиктивный iframe с refresh-content, настроенный на вызов фиктивной страницы asp каждые n минут).
Это лучше (хотя опрос может облагаться налогом на вашем сервере, не опрашивайте слишком часто), потому что, если вы установите очень большое (или бесконечное ...) значение времени ожидания сеанса, вы получите сбой asp с ошибкой нехватки памяти (я думаю, пул приложений будет перезапущен).
Сессия сохраняется, когда пользователь вызывает любую страницу asp в вашем приложении до истечения времени ожидания. Если ваш пользователь закрывает свой браузер, ваше приложение не получит уведомление, и asp придется подождать, пока истечет время ожидания для очистки памяти. Это означает, что сессия будет оставаться в памяти в течение n минут после того, как пользователь уйдет, n - время ожидания.
Нет необходимости в бесконечном сеансе (его можно решить с помощью опроса), а настройка параметра timeout сделает ваше приложение более хрупким.
Если вы хотите хранить информацию в течение длительного времени (в основном, на протяжении всей жизни вашего приложения), вам лучше использовать объект Application, который представляет собой словарь, такой же, как Session, но является одноэлементным и доступ к которому может получить любой на сервере.