C# 我是否可以构建2个IServiceProvider,并且它们可以一起工作(.net core) IServiceCollection服务配置=配置服务(); IServiceProvider serviceProvider=serviceConfiguration.BuildServiceProvider(); IBusControl busControl=CreateServiceBus(服务提供者); IServiceCollection服务=新的ServiceCollection(); 服务。AddSingleton(总线控制); IServiceProvider serviceBus=services.BuildServiceProvider();
有可能这样做吗,我需要它是因为CreateServiceBus使用第一个IServiceProvider,它通过依赖性注入使用它这就是为什么我需要2个IServiceProvider,因为在这之后我想将busControl注册为IBusControl您可以创建一个工厂方法并在C# 我是否可以构建2个IServiceProvider,并且它们可以一起工作(.net core) IServiceCollection服务配置=配置服务(); IServiceProvider serviceProvider=serviceConfiguration.BuildServiceProvider(); IBusControl busControl=CreateServiceBus(服务提供者); IServiceCollection服务=新的ServiceCollection(); 服务。AddSingleton(总线控制); IServiceProvider serviceBus=services.BuildServiceProvider();,c#,dependency-injection,asp.net-core,.net-core,C#,Dependency Injection,Asp.net Core,.net Core,有可能这样做吗,我需要它是因为CreateServiceBus使用第一个IServiceProvider,它通过依赖性注入使用它这就是为什么我需要2个IServiceProvider,因为在这之后我想将busControl注册为IBusControl您可以创建一个工厂方法并在Startup.cs中预热它 IServiceCollection serviceConfiguration = ConfigureServices(); IServiceProvider se
Startup.cs
中预热它
IServiceCollection serviceConfiguration = ConfigureServices();
IServiceProvider serviceProvider = serviceConfiguration.BuildServiceProvider();
IBusControl busControl = CreateServiceBus(serviceProvider);
IServiceCollection services = new ServiceCollection();
services.AddSingleton<IBusControl>(busControl);
IServiceProvider serviceBus = services.BuildServiceProvider();
或
public void配置(IAppBuilder应用程序、IBusControl总线)
{
app.Services.getRequiredService();
}
您只需创建一个工厂方法,并在Startup.cs
中对其进行预热即可
IServiceCollection serviceConfiguration = ConfigureServices();
IServiceProvider serviceProvider = serviceConfiguration.BuildServiceProvider();
IBusControl busControl = CreateServiceBus(serviceProvider);
IServiceCollection services = new ServiceCollection();
services.AddSingleton<IBusControl>(busControl);
IServiceProvider serviceBus = services.BuildServiceProvider();
或
public void配置(IAppBuilder应用程序、IBusControl总线)
{
app.Services.getRequiredService();
}
public void Configure(IAppBuilder app, IBusControl bus)
{
}
public void Configure(IAppBuilder app, IBusControl bus)
{
app.Services.GetRequriedService<IBusControl>();
}