.Net Core 3.0 HTTP错误500.30-尝试在启动类中添加AddHostedService()时,ANCM进程内启动失败

时间:2019-11-01 11:03:48

标签: c# .net asp.net-mvc asp.net-core asp.net-core-mvc

我正在使用.NET Core 3.0在VS 2019中使用MVC应用程序,我需要在我的应用程序中包含Service worker

在Startup类中添加以下行之后:
< br /> enter image description here
我收到此错误:

enter image description here

我需要知道是否可以使用MVC应用程序中可用的服务,以及如何解决此问题。

1 个答案:

答案 0 :(得分:1)

可能有很多原因。一些建议(在.NET Core的早期版本中)建议将托管模型从进程内更改为进程外,例如this known issue。您可以阅读有关托管模型here的更多信息。在您的情况下,可能还有其他事情。

现在,Microsoft提供了一些很好的示例,说明如何实现例如编写的托管服务。 herehere。但是,如何(何时)注册该服务也很重要。

在我的情况下,后台服务在其构造函数中使用了IServiceProvider依赖注入,这就是为什么它在我注册该服务的那一行上确实很重要-可能是由于某些内部依赖性,我并未真正弄清楚。像这样在Program.cs中注册解决了我的问题:

.ConfigureServices(services =>
    {
        services.AddHostedService<YourAwesomeBackgroundService>();
    });

如果这样做的话,您可能可以在Startup.cs的ConfigureServices方法中尝试注册的顺序(基于依赖关系),或者尝试删除一些依赖关系以找出导致问题的原因。

如果这不能解决您的问题,我建议您打开某些日志记录服务,因为必须抛出一些异常。