Вопрос:
Обычно каждый обращается к объекту сеанса следующим образом:
Session["foo"] = "bar";
Я написал поверх него обертку, которая является общей и которая проверяет, истек ли сеансили нет, и выдает SessionExpiredException, если это так.
Чтобы использовать мой доступ к сеансу, мне нужно получить доступ к сеансам через мой класс, как это
WebApplications.SessionAccess.Set<string>("foo", "bar");
Теперь, очевидно, несмотря наПри наличии класса SessionAccess можно все же получить доступ к сеансу через обычный объект сеанса.Это нежелательно, и, кроме того, я хочу позже включить его в более крупный старый проект, который был написан с использованием обычного сеанса, что означало бы, что мне придется заменить все вызовы сеанса (число в младших тысячах) на моиобертка.
Есть ли способ, которым я могу перезаписать System.Web.HttpSessionStateBase.Controller.Session - Свойство с моим собственным?
Дело в том, что не определен пользовательский обработчик сеансав web.config, потому что иногда уже есть один для использования базы данных для сессий (все еще можно инициализировать модуль в Global.asax).
Эти YSOD исключения NULL-Reference на SessionTimeout являются гипер-тревожный.Если возможно, решение, которое работает как на классических веб-формах ASP.NET, так и на MVC.