ASP.NET应用程序状态与静态对象

时间:2008-11-19 23:00:15

标签: asp.net static-members application-state

如果我有一个标准的ASP.NET应用程序,那么使对象静态而不是将对象实例置于Application状态之间有什么区别吗?

根据我的理解,这两个对象都存在于应用程序域的ONCE中。

其次,对于ASP.NET站点,如果在引用的dll中有静态对象会发生什么。它也是app域的一部分,所以它总是存在一次?

1 个答案:

答案 0 :(得分:57)

来自:http://support.microsoft.com/default.aspx?scid=kb;en-us;Q312607

  

ASP.NET包含应用程序状态   主要是为了兼容   经典的ASP让它更容易   迁移现有应用程序   ASP.NET。建议你   将数据存储在静态成员中   应用程序类而不是在   应用对象。这增加了   性能,因为你可以访问   静态变量比你快   访问应用程序中的项目   字典。

另外,是的,静态变量的行为方式相同,无论它们从何处加载,并且每个应用程序域只存在一次(除非你在谈论标记为[ThreadStatic]的那些)