Я хочу проверить наличие сеанса в классе базовой страницы, прежде чем использовать его, но я обнаружил, что если он не существует, он будет генерировать исключение просто путем проверки:ASP.NET Check for Session
if (Session != null)
{
Session.Remove("foo");
}
Выбросите это исключение:
состояние сеанса можно использовать только тогда, когда EnableSessionState установлена истина, либо в файле конфигурации в или в директиве Page. Также убедитесь, что System.Web.SessionStateModule или пользовательский модуль состояния сеанса включен в раздел \\ в конфигурации приложения.
Проверка происходит в событии загрузки базового класса страниц, из которого происходят все мои страницы aspx. Приложение имеет сеанс, и он имеет модуль, указанный в узле httpModules. Это приложение, которое часто использует сеанс, обычно без проблем.
Я получаю эту ошибку только на определенных страницах, и большую часть времени она не является надежной. Я знаю, что я должен делать что-то другое, чтобы предотвратить ошибку, но я не уверен, что?
Я могу назвать сессию слишком рано на жизненном цикле? Я не правильно проверяю, доступен ли сеанс?
enableSessionState должно быть свойством класса страниц? Я вижу только свойство enableViewState. –