2

通常,当我们需要对当前应用程序状态的引用时,我们会使用:

HttpContext.Current.Appliction

但有时没有当前的 HttpContext ( HttpContext.Currentreturns null)。在这种情况下,如何获取对当前应用程序实例的引用?

一个例子可以Session_End发生。虽然我可以Application在事件处理程序内部使用属性Session_End,但是如果处理程序调用库方法并且HttpApplicationState库代码中需要该对象怎么办?我不喜欢传递“应用程序”参数...

我也不喜欢将它保存在一个static字段中(如单例模式),我正在寻找一种直接从上下文中获取它的方法。

有什么方法可以直接访问实例(类似于HttpContext.Current.Application方法)还是我必须选择上述不太干净的方法之一?

4

1 回答 1

2

我会使用HttpRuntime.Cache而不是应用程序状态对象。HttpRuntime.Cache可以在任何地方使用。

于 2014-04-23T22:57:45.800 回答