0

我有一个在 Windows 服务上运行的调度程序。对于每个新事件,它都会创建新线程。然后每个线程使用 AddIn Framework 加载 DLL 并执行任务。

它工作正常,但现在但根据新要求,如果我们决定这样做,或者事件需要很长时间执行,我希望能够杀死任何事件。

启动线程的代码

 ThreadStart ts = KickOffEvents;
 Thread t = new Thread(ts);

所以要做到这一点,我需要发布一些东西,以便调度程序可以理解并杀死特定的线程。但由于该调度程序托管在窗口服务上,我无法这样做。

任何人都可以告诉任何解决方法吗???

目前我正在努力通过创建 WCF 服务将调度功能移动到 IIS。然后我将能够调用 wcf 服务的函数,这将以某种方式杀死任何事件(线程)。

任何人都可以就这样做是否存在潜在风险提供任何意见???

提前致谢

4

1 回答 1

0

调度程序没有办法明确地杀死它产生的线程。您将需要设置线程查找的标志,并且它必须自行关闭。其他任何事情都可能导致未定义的行为

您可以使用 WCF 服务请求来设置此标志

于 2012-01-25T11:59:40.010 回答