Обычно выполняются две вещи.
Первое - это то, что таймер javascript добавляется к клиенту не как сердцебиение, а как напоминание.Если они близки к окончанию сеанса, то просто говорится, что «сеанс подходит к концу. Вы все еще там?»Если это так, то он делает «глупую» запись, чтобы сервер продолжал сеанс.Это просто для удобства пользователей.
Второе (и точка вашего вопроса) заключается в том, что вы помещаете что-то в session_end для очистки сессии.Надежная?хорошо .. большинство времени.
Session_End не запустится, если пул приложений будет переработан.Однако при условии, что пул приложений в порядке, тогда да, он будет выполняться после истечения сеанса.Пул приложений может быть переработан по МНОГИМ причинам, начиная от сбоя приложения и заканчивая чрезмерным использованием памяти, просто потому, что прошло время с момента последнего сброса.Это настраивается в IIS.
Буду ли я доверять session_end?Нет, не 100%.Конечно, я бы не помещал в объект сеанса ничего, что в любом случае требовало бы от меня 100% доверия.