在Application_Start上创建一个类实例

时间:2011-06-01 13:38:11

标签: c# asp.net asp.net-mvc

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

我希望能够创建例如:

var globalHelper = new LoadsStuff();

然后在我的Action方法中:

globalHelper.GetInfoFor("key");

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

3 个答案:

答案 0 :(得分:4)

使用应用程序变量:

Application["GlobalHelper"] = new LoadsStuff();

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

参考:

ASP.NET Application State Overview

答案 1 :(得分:1)

如果您将XML文件Application level object放入Application_Start事件?

,该怎么办?
void Application_Start(object sender, EventArgs e)
{
     Application[""] = //
}

答案 2 :(得分:0)

是的,我认为你可以。 我没试过这个,但是有点像:

ManagedWebSessionContext.Bind(HttpContext.Current, globalHelper)