我们有一个 IIS 托管的 WCF 服务,它接收大量数据以进行处理。该服务启动几个工作线程,然后返回离开工作线程以完成工作(这可能需要一个小时)。如果 WCF 服务空闲足够长的时间,IIS 会回收应用程序池中止工作线程。这个问题已经通过让工作线程偶尔调用一个虚拟服务来让应用程序池保持活动状态而被规避。如果您认为整个设置是一个非常糟糕的主意,我完全同意(不是我的代码)。所以没必要评论。
问题是我们仍然偶尔会遇到 ThreadAbortException。有什么方法可以获取有关什么/谁启动线程中止的其他信息?我知道这不是我们的代码。