Я пишу API
, используя Asp.net Core 3.1
. Я использую IHostedService
для фоновой обработки в API
.
IHostedService
классе:
public class DataUpdateBackgroundService : Microsoft.Extensions.Hosting.BackgroundService
{
private ITurkeyProvinceDataService _dataService;
public DataUpdateBackgroundService(ITurkeyProvinceDataService dataService)
{
_dataService = dataService;
}
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
{
stoppingToken.Register(() =>
Console.WriteLine(""));
while (!stoppingToken.IsCancellationRequested)
{
// Your code here
_dataService.UpdateData();
await Task.Delay(TimeSpan.FromMinutes(10), stoppingToken);
}
}
}
В моей функции UpdateData
,
I записывать данные в базу данных за 10 минут. Я извлекаю эти сохраненные данные из другого API.
Таким образом, на моем локальном устройстве это работает гладко.
Когда я публикую sh эту версию в Azure Web Service
, я получаю ошибка в названии. Но если я не использую свою UpdateData
функцию, я не получаю ошибку.
Я не мог понять, относится ли она к Azure или моя функция должна быть в структуре, подобной asyn c. Вы можете помочь мне с этим?