尝试激活“ BService”时无法解析“ AService”类型的服务

时间:2019-10-15 20:26:36

标签: asp.net-core .net-core asp.net-core-3.0

我试图从另一个IHostedService使用IHostedService,但是启动应用程序时出现错误。我想使用BService的AService。我看到还有其他解决方案,但是我正在寻找针对.net-core 3.0的特定解决方案。

  

System.InvalidOperationException:'无法解析类型的服务   尝试激活时显示“ TwoHostedServices.AService”   “ TwoHostedServices.BService”。

    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");
            Host.CreateDefaultBuilder(args)
                .ConfigureServices(ConfigureServicesDelegate)
                .Build()
                .Run();
        }

        private static void ConfigureServicesDelegate(HostBuilderContext hostBuilderContext, IServiceCollection services)
        {
            services.AddHostedService<AService>()
                .AddHostedService<BService>();
        }
    }

    public class AService : IHostedService
    {
        public Task StartAsync(CancellationToken cancellationToken)
        {
            return Task.CompletedTask;
        }

        public Task StopAsync(CancellationToken cancellationToken)
        {
            return Task.CompletedTask;
        }
    }

    public class BService : IHostedService
    {
        private readonly AService _aService;

        public BService(AService aService)
        {
            _aService = aService;
        }

        public Task StartAsync(CancellationToken cancellationToken)
        {
            return Task.CompletedTask;
        }

        public Task StopAsync(CancellationToken cancellationToken)
        {
            return Task.CompletedTask;
        }
    }

0 个答案:

没有答案