无法从IServiceProvider .net核心解析

问题描述 投票:0回答:1

我在masstransit注册了一些IServiceCollection消费者,但我无法从IServiceProvider解决。

它是我的添加消费者方法。

 public static void Consumer(IServiceCollection serviceCollection)
 {
      serviceCollection.AddMassTransit(x => { x.AddConsumer<BookCommandHandler>(); });
      serviceCollection.AddScoped<BookCommandHandler>();
      serviceCollection.BuildServiceProvider();
 }

当我想解决时,请给我注册错误

  public static void ConfigureServices(IServiceCollection serviceCollection, IServiceProvider serviceProvider, IConfiguration configuration)
  {
     var xx = serviceProvider.GetRequiredService<BookCommandHandler>();
  }

我的错在哪里?

dependency-injection .net-core
1个回答
0
投票

注册后,您可以通过将其作为参数传入来访问ConfigureServices方法中的对象

public static void ConfigureServices(IServiceCollection serviceCollection, IConfiguration configuration, BookCommandHandler bcHandler)
{
    // use the class
    // bcHandler.
}
© www.soinside.com 2019 - 2024. All rights reserved.