0

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

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

对于网站应用程序,经过一段时间的空闲时间,域会被卸载,因此 repo 类也会被卸载,对吧?

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

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

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

一旦我离开工作人员上下文,回购对象会被销毁吗?

谢谢你的帮助。

4

1 回答 1

1

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

是的

对于网站应用程序,经过一段时间的空闲时间,域会被卸载,因此 repo 类也会被卸载,对吧?

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

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

是的

一旦我离开工作人员上下文,回购对象会被销毁吗?

不(当然,除非你把它扔掉)

于 2012-04-20T08:54:43.643 回答