【问题标题】:MVC3 correct way to change culture for every requestMVC3 为每个请求更改文化的正确方法
【发布时间】:2012-02-22 14:34:49
【问题描述】:

我正在使用 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
}

推荐的地方是什么?

【问题讨论】:

    标签: asp.net-mvc-3 cultureinfo


    【解决方案1】:

    global.asax 是 ASP.NET 执行此操作的正确方法。它可以跨框架(webforms、动态数据、mvc)工作。

    【讨论】:

    • 是否有适当的方法来阻止对图像、CSS 文件、JavaScript 等内容的请求调用文化代码
    • 这个在 web.config:
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-07-04
      • 2021-10-07
      • 1970-01-01
      • 1970-01-01
      • 2021-01-25
      • 2018-04-24
      • 1970-01-01
      相关资源
      最近更新 更多