我试图从另一个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;
}
}