Error constructing handler for request of type MediatR.IRequestHandler

132 Views Asked by At

i am getting mediatr error in a handler i have added dependency in Startup.cs still i am getting above error i have AddInfoRequestHandler which has following constructor arguments

public class AddInfoRequestHandler : IRequestHandler<AddInfoRequest, ResponseBase>
    {
        private Repository Repository { get; set; }
        private InfoUtility InfoUtility { get; set; }

        public AddInfoRequestHandler(Repository repository, InfoUtility infoUtility)
        {
            Repository = repository;
            InfoUtility = infoUtility;
        }


    public class InfoUtility
        {
            private IRepository Repository { get; set; }
            private string ConnectionString { get; set; }
    
            public InfoUtility(IRepository repository, string connectionString)
            {
                Repository = repository;
                ConnectionString = connectionString;
            }

In Startup.cs added following code

 services.For<IRequestHandler<AddInfoRequest, ResponseBase>>()
                .Use<AddInfoRequestHandler>()

 services.For<InfoUtility>()
                .Use<InfoUtility>()
                .Ctor<string>("ConnectionString")
                .Is(x => x.GetInstance<IConfiguration>().GetConnectionString("Info"));

can anybody tell me what is the issue here in adding dependency here

1

There are 1 best solutions below

1
Kha Bui On

I think register

services.AddMediatR(cfg => cfg.RegisterServicesFromAssemblies(typeof(AddInfoRequestHandler).Assembly)); 

for net 7.0