如何为每个请求执行公共代码?

是否有可能找到像Page_Load这样的function? 我有MVC应用程序,我需要运行一些代码,每个页面加载,或重新加载,或我调用一些控制器。 所有类的一个共享function?

我尝试Application_Start,但这只执行第一次应用程序运行。 我搜索了一些像BeginRequest ,但是这个函数已经多次调用,我只需要先加载页面,然后我需要结束函数,比如整个项目的构造函数和析构函数。

这是示例代码。

 public class MvcApplication : System.Web.HttpApplication { protected void Application_Start() { AreaRegistration.RegisterAllAreas(); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); } } 

document.ready不是我的情况。 并且每个控制器的调用function都是最后一个 必须在调用任何其他函数之前执行代码。 在结束之前,我需要运行结束function。 例如,首先我需要为所有类共享创建的mysql连接器。 最后我需要关闭mysql连接。

使所有控制器inheritance自定义BaseController:

 public class BaseController : Controller { protected override void OnActionExecuting(ActionExecutingContext context) { base.OnActionExecuting(context); // your code here } } public class HomeController : BaseController // instead of Controller { // ... }