如果我想存储一些对象以跨页面和会话共享,我应该使用哪一个?
HttpContext.Current.ApplicationInstance.Application
或HttpContext.Current.Application
。
我正在使用HttpContext.Current.Application
,但只是在两者之间感到困惑。
如果我想存储一些对象以跨页面和会话共享,我应该使用哪一个?
HttpContext.Current.ApplicationInstance.Application
或HttpContext.Current.Application
。
我正在使用HttpContext.Current.Application
,但只是在两者之间感到困惑。
他们都指的是同一个东西,HttpApplicationState
Application
并且ApplicationInstance.Application
是同一个 HttpApplicationState 对象的两个版本。
当客户端第一次从特定的 ASP.NET 应用程序虚拟目录中请求任何 URL 资源时,将创建 HttpApplicationState 类的单个实例。为 Web 服务器上的每个 ASP.NET 应用程序创建一个单独的实例。然后通过内部应用程序对象公开对每个实例的引用。
总结一下:
Application
对象对于 Web 服务器是全局的。ApplicationInstance.Application
对象是请求引用的应用程序的本地对象。(例如站点或虚拟目录应用程序)这在这篇博文中有进一步的解释。