我正在尝试开发一个调用存储过程的Web服务。这个存储过程非常长(约1小时30分钟),它在数据库中执行许多“count”和“insert”操作。 为了启动这个过程,我使用了C#类任务;以下是示例:
[HttpPost]
[Route("updateData/{date:datetime?}")]
public JsonResult UpdateData(DateTime? date) {
try {
Task.Factory.StartNew(() => Data.UpdateData(date), TaskCreationOptions.LongRunning);
return Json("UpdateData successfully started !");
}
catch (Exception e) {
return Json("Error UpdateData: " + e);
}
}
在本地环境测试时,它可以正常工作;但是在Azure上工作后,大约30分钟后进程会停止。
启动Web服务时,我使用Microsoft Azure调度程序。
问题似乎不在于存储过程,而是在任务的使用上(因为没有任务就可以正常工作)。
是否需要特别处理?