2012-01-25 25 views
0

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

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

代码启动线程

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

所以这样做,我需要发出东西,所以调度程序可以理解并杀死特定的线程。但是,作为托管在窗口服务上的调度程序,我无法这样做。

任何人都可以告诉任何工作在这???

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

任何人都可以提供任何输入是否有任何潜在风险吗?

在此先感谢

+0

你如何产卵线程来执行工作? –

+0

用代码更新的说明。 – Denish

回答

0

没有办法的调度明确地杀死它已经催生了线程。你将需要设置一个线程寻找的标志,它将不得不自动关闭。还有什么会导致不确定的行为

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

+0

你的意思是:我需要为每个正在运行的事件设置一个标志,并且我需要更改每个作业的代码以定期检查该标志......让每个函数执行完之后再说,然后如果标志被设置,线程自杀。一些similer? – Denish

+0

是的 - 沿着这些路线的东西 - 希望当你处理你有地方的线程,你可以检查你是否被要求取消,如你所说,让线程清理并杀死自己 –