YMC*_*YMC 5 dependency-injection .net-core
是否可以在HostBuilder()配置中访问 DI 配置服务的实例?
这就是我的意思:
return new HostBuilder()
.UseOrleans((cntx, builder) =>
{
builder.ConfigureApplicationParts(parts =>
{
// This is where I want to access instance of IMyService
// in order to help Orleans builder to configure Orleans properly
}
})
.ConfigureServices(services =>
{
services.AddSingleton<IMyService, MyService>();
})
.RunConsoleAsync();
Run Code Online (Sandbox Code Playgroud)
如果这是一个XY 问题,并且您正在尝试创建一些启动任务,则有一个AddStartupTask扩展
return new HostBuilder()
.UseOrleans((cntx, builder) => {
//Add a startup task to be executed when the silo has started.
builder.AddStartupTask((sp, token) => {
// access instance of IMyService
IMyService service = sp.GetRequiredService<IMyService>();
//...use service as needed
return Task.CompletedTask;
});
})
.ConfigureServices(services => {
services.AddSingleton<IMyService, MyService>();
})
.RunConsoleAsync();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2894 次 |
| 最近记录: |