use*_*292 5 c# .net-core asp.net-core asp.net-core-hosted-services
我想运行同一托管服务的多个实例。我尝试注册它们两次:
services.AddHostedService<MyService>();
services.AddHostedService<MyService>();
Run Code Online (Sandbox Code Playgroud)
但 ExecuteAsync 仅在一个实例上调用。
但是,如果我有两种不同的服务:
services.AddHostedService<MyServiceA>();
services.AddHostedService<MyServiceB>();
Run Code Online (Sandbox Code Playgroud)
每一个都会调用 ExecuteAsync。
无论如何,有没有办法运行同一个实例两次?我本质上想让两个工作服务做同样的事情。
现在 .net core 中的行为发生了变化,AddHostedService 现在添加了 Singleton 而不是 Transient 服务。所以你可以尝试这个:
services.AddSingleton<IHostedService, MyService>();
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8971 次 |
最近记录: |