在MVC 4中使用Singleton到Application State对象是一个好习惯吗?

时间:2013-04-03 12:20:02

标签: asp.net-mvc-4 singleton application-state

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

因为我希望我的代码是标准代码并避免使用非标准代码,所以我想确保它是否是一种很好的方法来执行此类操作。

提前感谢您的关注。

0 个答案:

没有答案