3

我已经开发了一个 MVC Web 应用程序,对于每个进来的请求,我都需要改变文化。我有以下内容:

/// <summary>
/// Called from every HTTP request
/// </summary>
/// <param name="sender">Sender object</param>
/// <param name="e">Event args</param>
protected void Application_BeginRequest(object sender, EventArgs e)
{
    this.SetCulture();
}

现在文化的设置完美运行,但是它通过这段代码运行每个请求,包括对 javascript 文件、css 文件、图像、字体等的调用。我只希望这个方法运行以执行操作。

无论如何在请求的这个阶段(即Application_BeginRequest)来确定它是控制器/操作请求还是静态资源请求?

4

1 回答 1

1

从 BaseController(它本身从 Controller 派生)派生所有控制器,并将代码放入基本控制器的 OnActionExecuting 函数中。

public BaseController : Controller
{
        protected override void OnActionExecuting(ActionExecutingContext filterContext)
        {
                SetCulture();
        }
}
于 2012-05-31T13:15:58.840 回答