我刚才了解到,由于IIS的性质,后台线程在asp.net中无法被信任,它们可以随时擦除。
问题是,对于我在类中作为共享字段声明的全局变量是否也是如此?我不知道如何测试,因为我还没有看到消失的线程,但认为如果一个可以发生,另一个也可能发生。
作为一个更具体的例子,假设我有这个类:
Public Class DataHolder
Public Shared data1 As String
Public Shared data2 As String
Shared Sub New()
Dim fdat = IO.File.ReadAllLines(System.Web.HttpRuntime.AppDomainAppPath & "localcache.txt")
data1 = fdat(0)
data2 = fdat(1)
End Sub
End Class
我希望从这个课程中得到两件事:
这个班级能否符合这些标准?
答案 0 :(得分:0)
IIS主要是基于请求的系统。如果没有活动(即没有正在进行的会话),它往往会关闭所有内容。
首次实例化类时,将调用共享构造函数。因此,只要不在共享构造函数之外修改这些共享变量,您所做的就会一致地工作。