通常,当我们需要对当前Application状态的引用时,我们使用:
HttpContext.Current.Appliction
但有时候没有当前的HttpContext(HttpContext.Current
返回null
)。在这种情况下,如何获取对当前应用程序实例的引用?
示例可以在Session_End
事件中。虽然我可以在Application
事件处理程序中使用Session_End
属性,但是如果处理程序调用库方法并且库代码中需要HttpApplicationState
对象,该怎么办?我不想在...周围传递“应用程序”参数。
我也不喜欢将它保存在static
字段中(如Singleton模式),我正在寻找一种直接从上下文中获取它的方法。
有没有办法直接访问实例(类似于HttpContext.Current.Application
方法)或者我是否必须选择上述不那么干净的方法之一?
答案 0 :(得分:2)
我使用HttpRuntime.Cache
代替应用程序状态对象。 HttpRuntime.Cache
可以在任何地方使用。