Ошибка HTTP 500.30 - Ошибка запуска процесса ANCM Asp. net -Core 3.1 - PullRequest
1 голос
/ 09 апреля 2020

Я пишу 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. Вы можете помочь мне с этим?

1 Ответ

0 голосов
/ 10 апреля 2020

Эта проблема возникает из-за смешивания ссылок на библиотеки в проекте. Например, если вы обновляете свое приложение. NET Core 2.2 до. NET Core 3.1, вы должны убедиться, что нет ссылок или зависимостей на библиотеки 2.2.

Я тестирую на своем сайте и работаю хорошо. Go для вашего веб-приложения и нажмите Extensions и удалите расширение из службы приложений . И проверьте пакет Nuget у вас на месте. Вот аналогичные проблемы , на которые вы можете ссылаться.

Обновление :

Причина этой проблемы связана с var info = TimeZoneInfo.FindSystemTimeZoneById("Turkey Standard Time");, который я использую для даты операции в функции обновления данных.

...