如果我有一个标准的ASP.NET应用程序,那么使对象静态而不是将对象实例置于Application状态之间有什么区别吗?
根据我的理解,这两个对象都存在于应用程序域的ONCE中。
其次,对于ASP.NET站点,如果在引用的dll中有静态对象会发生什么。它也是app域的一部分,所以它总是存在一次?
答案 0 :(得分:57)
来自:http://support.microsoft.com/default.aspx?scid=kb;en-us;Q312607
ASP.NET包含应用程序状态 主要是为了兼容 经典的ASP让它更容易 迁移现有应用程序 ASP.NET。建议你 将数据存储在静态成员中 应用程序类而不是在 应用对象。这增加了 性能,因为你可以访问 静态变量比你快 访问应用程序中的项目 字典。
另外,是的,静态变量的行为方式相同,无论它们从何处加载,并且每个应用程序域只存在一次(除非你在谈论标记为[ThreadStatic]的那些)