Jef*_*eff 6 c# iis multithreading interop cer
我们有一个非常棘手的互操作问题,其中用于初始化第三方系统的线程必须是用于终止它的相同线程.不这样做会导致死锁.我们正在IIS中托管的WCF服务执行互操作.目前,这种清理工作已经完成,通常效果很好.不幸的是,在负载很重的情况下,IIS会做一个粗鲁的卸载,我们永远不会打电话处理.我们可以将关闭逻辑移动到关键终结器中,但这没有用,因为我们不再能够访问初始化线程!在这一点上,我们唯一的办法似乎是通知CLR AppDomain现在可能处于损坏状态.但是,我不知道该怎么做(或者甚至可能).这可能是在阶级合同的效用,但我承认我并不完全理解这些合同.
编辑:或者,这可以被视为终结器中的线程亲和性问题.如果有人有一个聪明的解决方案,我都是耳朵:)