我的一个类有静态构造函数,将新的 GUID 分配给静态变量。然后,我使用该变量作为我创建的文件夹名称,以在我的网站的生命周期内存储缓存信息。目标是在网站被回收或发生其他事情时使用不同的文件夹名称。
我的网站在 IIS7 中运行,并且配置为最多有一个工作进程。回收已禁用。
我使用 ThreadPool.QueueUserWorkItem 异步发出多个并行数据库请求,然后使用 ManualResetEvent.WaitOne() 将这些调用合并回一个线程。我使用上述文件夹来缓存这些请求的结果。
我的问题是,似乎在某些时候我会同时创建并运行 2 个文件夹。我理解这意味着我获得了 2 个 AppDomain,而不仅仅是一个。我不明白为什么我会获得第二个 AppDomain 以及我能做些什么来防止它发生。