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

如果我有一个标准的ASP.NET应用程序,使对象静态,而不是将对象实例在应用程序状态之间有任何区别?

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

其次,如果你在一个被引用的dll中有一个静态对象,ASP.NET网站会发生什么情况。 它也是应用程序域的一部分,所以它会一直存在一次?

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

ASP.NET包含的应用程序状态主要是为了与传统ASP兼容,因此将现有的应用程序迁移到ASP.NET更容易。 build议您将数据存储在应用程序类的静态成员中而不是应用程序对象中。 这会提高性能,因为您可以比访问应用程序字典中的项目更快地访问静态variables。

另外,是的,无论从哪里加载,静态variables的行为都是相同的,并且每个应用程序域只存在一次(除非您正在讨论标记为[ThreadStatic]的那些)