是否可以在Application_Start
上创建可在所有控制器中使用的类实例?
我希望能够创建例如:
var globalHelper = new LoadsStuff();
然后在我的Action方法中:
globalHelper.GetInfoFor("key");
My Helper类将一个相当大的XML文件加载到内存中,我只想这样做一次。
答案 0 :(得分:4)
使用应用程序变量:
Application["GlobalHelper"] = new LoadsStuff();
((LoadsStuff) Application["GlobalHelper"]).GetInfoFor("key");
参考:
答案 1 :(得分:1)
如果您将XML文件Application level object
放入Application_Start
事件?
void Application_Start(object sender, EventArgs e)
{
Application[""] = //
}
答案 2 :(得分:0)
是的,我认为你可以。 我没试过这个,但是有点像:
ManagedWebSessionContext.Bind(HttpContext.Current, globalHelper)