在Application_Start上创建一个类实例

本文关键字:一个 实例 Application Start 创建 | 更新日期: 2023-09-27 17:58:14

是否可以在Application_Start上创建一个可在所有控制器中使用的类实例?

我希望能够创建例如:

var globalHelper = new LoadsStuff();

然后在我的行动方法:

globalHelper.GetInfoFor("key");

我的Helper类将一个相当大的XML文件加载到内存中,我只想这样做一次。

在Application_Start上创建一个类实例

使用应用程序变量:

Application["GlobalHelper"] = new LoadsStuff();
((LoadsStuff) Application["GlobalHelper"]).GetInfoFor("key");

参考:

ASP.NET应用程序状态概述

如果您将XML文件Application level object放入Application_Start事件中会怎样?

void Application_Start(object sender, EventArgs e)
{
     Application[""] = //
}

是的,我想你可以。我没有尝试过,但类似于:

ManagedWebSessionContext.Bind(HttpContext.Current, globalHelper)