我有一个 web 服务,它会被每晚的作业处理文档调用,每个文档都将在它自己的后台处理器上排队和执行。这个过程可能需要几个小时或几个小时,具体取决于负载。如果它什么都不做,我不想让它活着。但是当产生一个线程并立即返回时,即使有一个线程在工作,空闲时钟也会开始。我没有将线程设置为 IsBackground,它仍然因空闲而终止。对于我的测试,我将空闲时间设置为 1 分钟。有没有办法让服务保持“活跃”
这是网络服务代码:
public class LetterInitiateWS : System.Web.Services.WebService
{
private static Processor processor = new Processor();
[WebMethod]
public void ExecuteBulkRun()
{
var thrd = new Thread(() => ThreadExecuteBulkRun());
thrd.IsBackground = false;
thrd.Start();
}
private void ThreadExecuteBulkRun()
{
processor.ExecutBulkRun();
}
}