.NET 静态对象生命周期



我有一个带有存储库静态类的DAL库;它通过单例模式(静态构造函数)初始化。 有使用此 DAL 库的网站,以及同一解决方案中的 Windows 服务项目。

据了解,单例对象将有两个实例,站点和 WINservice 的每个域中都有一个实例。 是吗?

对于网站应用程序,经过一段时间的空闲后,域处于卸载状态,因此存储库类也将卸载,对吗?

关于 winservice 的最后一个问题:据了解,当服务运行时,此域永远不会被卸载,以便 repo 对象将保留在内存中?

PS:如果我创建一个子类对象,例如 winservice 的 worker 会发生什么,它将使用其中的 repo 类。

using (var worker = new worker())
{
    //some DAL manipulations
}

离开工作线程上下文后,存储库对象是否会被销毁?

感谢您的任何帮助。

据了解,单例对象将有两个实例, 站点和 WINservice 的每个域中一个。是吗?

是的

对于网站应用,经过一段时间的空闲后,域处于卸载状态, 所以回购类也会被卸载,对吧?

是(可以在 IIS 中设置回收应用池的规则)

关于winservice的最后一个问题:据了解这个域名 永远不会在服务运行时卸载,以便存储库 对象将保留在内存中?

是的

离开工作线程上下文后,存储库对象是否会被销毁?

否(当然,除非您处理掉它)

最新更新