MVC3正确的方式来改变每个请求的文化

时间:2012-02-22 14:34:49

标签: asp.net-mvc-3 cultureinfo

我正在使用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 个答案:

答案 0 :(得分:6)

global.asax是ASP.NET正确的做法。它适用于框架(webforms,动态数据,mvc)。

答案 1 :(得分:4)

Application_BeginRequest没问题。如果在那里的线程上设置文化,整个HTTP请求将在该文化中执行。

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