通常,当我们需要对当前应用程序状态的引用时,我们会使用:
HttpContext.Current.Appliction
但有时没有当前的 HttpContext ( HttpContext.Current
returns null
)。在这种情况下,如何获取对当前应用程序实例的引用?
一个例子可以Session_End
发生。虽然我可以Application
在事件处理程序内部使用属性Session_End
,但是如果处理程序调用库方法并且HttpApplicationState
库代码中需要该对象怎么办?我不喜欢传递“应用程序”参数...
我也不喜欢将它保存在一个static
字段中(如单例模式),我正在寻找一种直接从上下文中获取它的方法。
有什么方法可以直接访问实例(类似于HttpContext.Current.Application
方法)还是我必须选择上述不太干净的方法之一?