我想运行同一托管服务的多个实例。我尝试注册了两次:
services.AddHostedService<MyService>();
services.AddHostedService<MyService>();
但 ExecuteAsync 仅在一个实例上调用。
但是,如果我有两种不同的服务:
services.AddHostedService<MyServiceA>();
services.AddHostedService<MyServiceB>();
ExecuteAsync 在每一个上调用。
有没有办法运行同一个实例两次?我本质上想让两个工作人员服务做同样的事情。
最佳答案
现在 .net core 中的行为发生了变化,AddHostedService 现在添加了一个 Singleton 而不是 Transient 服务。 所以你可以试试这个:
services.AddSingleton<IHostedService, MyService>();
关于c# - HostedService 的多个实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66594888/