是否可以静态访问当前控制器?

时间:2011-01-02 03:53:17

标签: c# asp.net-mvc

出于纯粹的好奇心,是否可以在使用当前HttpRequest / Action执行时从静态上下文访问当前控制器?

2 个答案:

答案 0 :(得分:1)

不,这在静态上下文中是不可能的,因为许多不同的控制器可能在某个给定的时间点执行多个并发请求。

答案 1 :(得分:0)

我不知道静态地执行此操作但是在处理某些会话/身份验证管理时我为此做了什么我让所有控制器继承自继承自System.Web.Mvc.Controller的自定义BaseController类类。在Base Controller类中,我重写了OnActionExecuted方法。

public class BaseController : Controller
{
    protected override void OnActionExecuted(ActionExecutedContext filterContext)
    {
        //Your logic here

        base.OnActionExecuted(filterContext);
    }
}


public class HomeController : BaseController
{
    //
    // GET: /Home/

    public ActionResult Index()
    {
        return View();
    }


}