Asp.net core 使用MediatR注册构造函数依赖项的Lamar,有更好的方法吗?

Asp.net core 使用MediatR注册构造函数依赖项的Lamar,有更好的方法吗?,asp.net-core,dependency-injection,mediatr,lamar,Asp.net Core,Dependency Injection,Mediatr,Lamar,我正在使用Lamar,并且我添加了大量在控制器中工作的依赖项 当我尝试使用MediarR中的处理程序时,我必须显式地设置Ctor依赖项,如下所示: serviceRegistry .ForConcreteType<UpdateStockItemPricingHandler>().Configure .Scoped() .Ctor<ClientAppContext>("dbContext&qu

我正在使用Lamar,并且我添加了大量在控制器中工作的依赖项

当我尝试使用MediarR中的处理程序时,我必须显式地设置Ctor依赖项,如下所示:

serviceRegistry
            .ForConcreteType<UpdateStockItemPricingHandler>().Configure
            .Scoped()
            .Ctor<ClientAppContext>("dbContext").Is<ClientAppContext>();

您使用的是什么版本的Lamar?@mx2.0.0
serviceRegistry.Scan(scanner =>
        {
            scanner.AssemblyContainingType<Ping>();
            scanner.ConnectImplementationsToTypesClosing(typeof(IRequestHandler<,>));
            scanner.ConnectImplementationsToTypesClosing(typeof(INotificationHandler<>));
            scanner.ConnectImplementationsToTypesClosing(typeof(IRequestExceptionAction<>));
            scanner.ConnectImplementationsToTypesClosing(typeof(IRequestExceptionHandler<,,>));
        });
        
        serviceRegistry.For<MediatR.IMediator>().Use<Mediator>().Transient();
        serviceRegistry.For<ServiceFactory>().Use(ctx => ctx.GetInstance);

        serviceRegistry
            .ForConcreteType<ServiceHealthCheckHandler>().Configure
        .Scoped()
            .Ctor<IService>("environmentService").Is<EnvironmentService>()
            .Transient();
        
        serviceRegistry
            .ForConcreteType<GetStockItemPricingHandler>().Configure
            .Scoped()
            .Ctor<ClientAppContext>("dbContext").Is<ClientAppContext>();
        
        serviceRegistry
            .ForConcreteType<UpdateStockItemPricingHandler>().Configure
            .Scoped()
            .Ctor<ClientAppContext>("dbContext").Is<ClientAppContext>();



        var mapperConfig = new MapperConfiguration(mc => mc.AddProfile(new MappingProfile()));
        IMapper mapper = mapperConfig.CreateMapper();
        services.AddSingleton(mapper);