最近我一直忙于编写一个 MVC 4 网站,我需要在所有会话中保存一些值,所以我决定使用“应用程序状态”对象。因为位于 Global.asax.cs 中的 MvcApplication 类是 HttpApplication 类型,并且保证在 Application Start 时被初始化,所以我认为它是“Application State”对象的一个很好的参考,所以我在里面创建了一个 Singleton这个类是这样的:
public class MvcApplication : HttpApplication
{
public static HttpApplicationState Singleton;
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
WebApiConfig.Register(GlobalConfiguration.Configuration);
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
AuthConfig.RegisterAuth();
Singleton = this.Application; //<== Here it is!
}
protected void Application_Error(object sender, EventArgs e)
{
}
}
所以我现在可以像这样访问这个对象:
MvcApplication.Singleton
因为我希望我的代码是标准的并避免使用非标准代码,所以我想确定它是否是做这种事情的好方法。
提前感谢您的关注。