Ich implementierte ein Design als described here, mit ASP.NET MVC5, Repository-Muster, UoW und Autofac.ASP.NET MVC5 Controller und Autofac
Alles für Controller mit einem einzigen Dienst funktioniert, aber ich habe einen Controller, der drei Dienste erfordert:
public MyController(IService1 service1, IService2 service2, IService3 service3)
{
_service1= service1;
_service2= service2;
_service3= service3;
}
Jetzt registrieren ich die Dienste wie folgt aus:
protected override void Load(ContainerBuilder builder)
{
builder.RegisterAssemblyTypes(Assembly.Load("namespace.service"))
.Where(t => t.Name.EndsWith("Service"))
.AsImplementedInterfaces()
.InstancePerLifetimeScope();
}
Zur Laufzeit I Erhalten Sie diesen Fehler:
None of the constructors found with 'Autofac.Core.Activators.Reflection.DefaultConstructorFinder' on type 'namespace.Controllers.MyController' can be Invoked with the available services and parameters: Can not resolve parameter '.service.Service1 service1 constructor of 'Void .ctor ...
Haben Sie in Autofac Container alle Dienste registriert? – dotnetom
Ich aktualisiere den Beitrag, ja, ich registriere den ganzen Dienst. individuell ihre Arbeit –