我有一个场景,其中.dll启动一个工作线程,监视.dll的某些活动。它是某种类似垃圾收集的东西,在一段时间不活动后清理内部缓存中的元素。
现在的问题是:我有一个代码在一个特殊的函数Shutdown中停止这个线程,但是......这并不总是被调用。它被称为我编写的1-2个应用程序,但是使用单元测试第三方工具,例如: g。,我不能调用这个方法,因为我运行了一个任意的测试子集。
此外,我尝试将此类代码挂钩到AppDomain DomainUnload事件 - 这也不会被调用。
AppDomain.CurrentDomain.DomainUnload += new EventHandler(
(o, e) => Shutdown() );
如何处理?为了使这项工作需要任何其他“设计”/方法?