1

最近我一直忙于编写一个 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

因为我希望我的代码是标准的并避免使用非标准代码,所以我想确定它是否是做这种事情的好方法。

提前感谢您的关注。

4

0 回答 0