我有一个WCF服务,将在IIS下托管。现在我有一些我在服务构造函数中创建的资源(Connections)。当托管服务的IIS关闭或重置时,我需要释放这些资源。这些不是每次客户端断开连接时我将清除的资源,但它们是应用程序范围的资源,只有在服务本身或IIS关闭时才会释放。
我看到另一个帖子,有人提到他已经创建了一个监听器来捕获事件ServiceHost
。有人可以帮我弄清楚如何获取ServiceHost
并重置IIS重置或IIS关闭事件并释放我在WCF服务中的资源吗?
发布于 2018-10-11 08:23:49
好吧,我没有想法,但我认为这篇文章包含你在章节中的答案:“在IIS中访问ServiceHost”。看来你需要构建自己的HostFactory,因为开箱即用的IIS使用标准的HostFactory,实际上控制着Hosts的创建和销毁。通过提供自己的HostFactory,您可以添加自己的代码来控制初始化和销毁......
发布于 2018-10-11 09:48:59
您可以在包含资源的类上使用IDisposable模式和终结器。
在卸载AppDomain时,所有对象都已完成,如果引用资源的对象(此类连接)具有终结器,则将调用终结器,您可以在此时关闭/处置资源。
https://stackoverflow.com/questions/-100000843
复制相似问题