您的静态类和静态实例字段在对应用程序的所有请求之间共享,并且具有与应用程序域相同的生存期。因此,使用静态实例时应格外小心,因为您可能会遇到同步问题等。还请记住,在回收应用程序池之前不会对静态实例进行GC处理,因此,不会对静态实例引用的所有内容进行GC处理。这可能会导致内存使用问题。
如果您需要一个与请求具有相同生存期的实例,我建议使用该
HttpContext.Current.Items集合。这是设计使您可以存储整个请求中需要的内容的地方。为了获得更好的设计和可读性,您可以使用Singleton模式来帮助您管理这些项目。只需创建一个Singleton类,将其实例存储在中
HttpContext.Current.Items。(在我的ASP.NET公共库中,有一个通用的SingletonRequest类用于此目的)。



