Я пытаюсь создать веб-службу, которая вызывает хранимую процедуру. Эта хранимая процедура довольно длинная (около 1 часа 30 минут), и она делает множество «счетчиков» и «вставляемых» в базу данных. Для запуска этой процедуры я использовал задачу класса C#; вот пример:Запуск хранимой процедуры с помощью Task.Factory.StartNew
[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 минут.
Для запуска веб-службы я использую планировщик Microsoft Azure.
Проблема, похоже, не в хранимой процедуре, но она, похоже, используется в задаче (потому что без задачи она работает).
Есть ли что-то особенное?
Как вы используете это внутри лазурное планировщик? Внутри приложения ASP.NET? –
Я использую консоль администрирования Microsoft azure (графическая); с ним могут быть запущены пунктуальные или периодические задачи; Благодаря этому я запускаю свой веб-сервис. – Fabaud
Какое приложение является веб-сервисом? Библиотека классов? –