MVC3 правильный способ изменить культуру для каждого запроса - PullRequest
6 голосов
/ 22 февраля 2012

Я использую MVC3, и у меня есть логика для изменения культуры, которая все работает отлично.Моя проблема в том, что, кажется, есть несколько мест, где нужно внести это изменение, и я не уверен, где было бы лучше всего это сделать.

В некоторых примерах показано переопределение для каждого действия из контроллеракак это:

protected override void OnActionExecuted(ActionExecutedContext filterContext)
{
    // code to change culture
}

В то время как более традиционный способ, который я привык видеть, это делать в файле Global.asax следующим образом:

protected void Application_BeginRequest(object sender, EventArgs e)
{
    // code to change culture
}

Какое рекомендуемое место длясделать это?

Ответы [ 2 ]

6 голосов
/ 22 февраля 2012

global.asax - правильный способ сделать это в ASP.NET. Работает в разных средах (веб-формы, динамические данные, MVC).

4 голосов
/ 22 февраля 2012

Application_BeginRequest в порядке.Если вы установите там культуру в потоке, весь HTTP-запрос будет выполнен в этой культуре.

Thread.CurrentThread.CurrentCulture = new CultureInfo(myCulture);
...