HTTP错误500.30-ANCM进程内启动失败Asp.net-Core 3.1

时间:2020-04-09 12:20:36

标签: c# azure asp.net-core .net-core azure-web-app-service

我正在使用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函数中,

我将数据记录在数据库中10分钟。我正在从其他API提取此保存的数据。

因此,它可以在我的本地设备上正常运行。

当我在Azure Web Service中发布此版本时,出现标题错误。但是,如果我不使用自己的UpdateData函数,就不会收到错误消息。

我不知道它是否与Azure相关,或者我的功能应该采用异步之类的结构。你能帮我吗?

1 个答案:

答案 0 :(得分:0)

由于在项目中混合库引用而发生此问题。例如,如果要将.NET Core 2.2应用程序升级到.NET Core 3.1,则应确保没有对2.2库的引用或依赖性。

我在自己的网站上进行了测试,并且运行良好。转到您的Web应用,然后单击Extensions,然后从应用程序服务中删除扩展名。并在本地检查nuget软件包。您可以参考以下类似的issue

更新

此问题的原因来自var info = TimeZoneInfo.FindSystemTimeZoneById("Turkey Standard Time");,我将其用于更新数据功能中的日期操作。