Почему вы используете HttpContext.Current
в приложении ASP.NET MVC? Никогда не используйте его.Это зло даже в классических приложениях веб-форм ASP.NET, но в ASP.NET MVC это катастрофа, которая извлекает все удовольствие из этой замечательной веб-платформы.
Также убедитесь, что вы проверяете, присутствует ли значение в сеансе, прежде чем пытаться его использовать, так как я подозреваю, что в вашем случае это не HttpContext.Current.Session
, который является нулевым, а HttpContext.Current.Session["MyCulture"]
.Итак:
public void OnActionExecuting(ActionExecutingContext filterContext)
{
var myCulture = filterContext.HttpContext.Session["MyCulture"] as string;
if (!string.IsNullOrEmpty(myCulture))
{
Thread.CurrentThread.CurrentUICulture = new CultureInfo(myCulture);
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(myCulture);
}
}
Так что, возможно, корень вашей проблемы в том, что Session["MyCulture"]
неправильно инициализирован в методе Session_Start
.