У меня есть конкретная реализация класса моего интерфейса службы, например:
public class MyService:IService {
public MyService([KeyFilter("sampleone")] IRepository repoToUse) {
_repoToUse = repoToUse;
}
// rest of code
}
Я регистрирую службу как:
builder.Register(ctx => new CustomRepo()).Keyed<IRepository>("sampleone");
builder.RegisterType<MyService>().AsSelf().WithAttributeFiltering();
В моем контроллере я используюсрок службы для разрешения услуг.
public class MyTestController:ApiController{
public MyTestController(ILifteTimeScope scope) {
var testone = scope.Resolve(typeof(IService));
var testtwo = scope.Resolve(typeof(MyService));
}
}
Итак, я разрешаю эти службы и могу правильно разрешить «testone», но когда приложение пытается разрешить «testtwo», оно выдает ошибку: Autofac.Core.DependencyResolutionException.По сути, в нем говорится, что я не могу разрешить IRepository.
Почему это происходит?