Я пытаюсь настроить оболочку сеанса в приложении MVC 3. Этот пост дает общее представление о том, что я хотел бы сделать: http://weblogs.asp.net/cstewart/archive/2008/01/09/strongly-typed-session-in-asp-net.aspx
Однако сессия всегда нулевая, когда к ней обращаются. Этот класс находится за пределами контроллеров, и в настоящее время к рассматриваемой переменной обращаются вне контроллеров.
Вот класс:
public sealed class SessionManager : IRequiresSessionState
{
private const string CurrentCultureKey = "CurrentCulture";
public static Culture CurrentCulture
{
get
{
if (null != HttpContext.Current.Session[CurrentCultureKey])
return (Culture)HttpContext.Current.Session[CurrentCultureKey];
return Culture.En;
}
set
{
if (HttpContext.Current.Session != null)
HttpContext.Current.Session[CurrentCultureKey] = value;
}
}
}
Я добавил IRequiresSessionState, но это тоже не сработало.
Я использую эту переменную, чтобы помочь с пользовательской маршрутизацией, в случае, если у меня не может быть культура в адресе (/ En / Controller / Action), которую я хотел отследить в сеансе. Это было бы полезно для пользовательских просмотров ошибок.
У меня такое ощущение, что я иду по неправильному пути, поэтому, если кто-нибудь сможет указать мне правильное направление, я буду признателен.