Я видел несколько статей вроде этой , в которых объясняется, как определить, что время сеанса пользователя истекло. И для ясности, эти статьи ссылаются на значение тайм-аута, определенное этой строкой web.config:
<sessionState mode="InProc" cookieless="UseDeviceProfile" timeout="120" />
Не слишком вдаваться в этот метод, но это включает проверку того, что Session.IsNewSession истинно и что сессионный cookie уже существует. Но я не видел ни одной статьи о том, как обнаружить аутентификацию тайм-аут - ту, которая определена в этой строке web.config:
<authentication mode="Forms">
<forms loginUrl="~/Home/Customer" timeout="60" name=".ASPXAUTH" requireSSL="false" slidingExpiration="true" defaultUrl="~/Home/Index" cookieless="UseDeviceProfile" enableCrossAppRedirects="false"/>
</authentication>
В нескольких статьях в Интернете, включая в этом сообщении SO , говорилось, что значение времени ожидания сеанса обычно должно быть в два раза больше значения времени ожидания аутентификации. Итак, прямо сейчас, как указано выше, мой сеанс равен 120, а моя аутентификация - 60. Это означает, что я никогда не попаду в ситуацию, когда время сеанса истекло, но пользователь все еще проходит проверку подлинности; если время ожидания пользователя истекло, это будет связано с аутентификацией, а не сессией.
Так что, как и всем, меня интересует, как сообщить пользователю, что время его сеанса истекло (но на самом деле это будет связано с таймаутом Аутентификации). Кто-нибудь знает способ достижения этого или какие-либо ресурсы в Интернете, которые могут указать мне на решение?