Проблема заключается даже в том, что я установил потоки как «thrd.IsBackground = false», iis не считает его работающим, даже если это длительный процесс.Если я не отключу отключение в режиме ожидания для пула приложений, оно отключится, потому что считает, что оно не используется.Также, если я разверну новую версию, она прерывает все работающие потоки, вместо того, чтобы ждать истинного простоя всех процессов перед повторной обработкой и использованием нового кода.Что я здесь не так делаю?это мой код веб-сервиса:
/// <summary>
/// Summary description for LetterInitiateWS
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line.
// [System.Web.Script.Services.ScriptService]
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();
}
[WebMethod]
public void ExecuteTemplateBulkRun(string templateCategory, string TemplateType)
{
var thrd = new Thread(() => ThreadExecuteTemplateBulkRun(templateCategory, TemplateType));
thrd.IsBackground = false;
thrd.Start();
}
private void ThreadExecuteBulkRun()
{
processor.ExecuteBulkRun();
}
private void ThreadExecuteTemplateBulkRun(string templateCategory, string TemplateType)
{
processor.ExecuteTemplateBulkRun(templateCategory, TemplateType);
}
}
}