В классе bootstrapper моего WebApi я пытаюсь зарегистрировать новый экземпляр класса под названием «Фасад» на основе его типа интерфейса.Исключение конструктора параметра Unity
В этом типе, который требуется зарегистрировать, требуется новый экземпляр «CRUDOperator», который также имеет новый экземпляр «Adapter» в своем конструкторе. Это то, что я пытаюсь сделать возможным? В настоящее время я просто получаю исключение, что параметры перегрузки неверны.
public static class Bootstrapper
{
public static void Initialise()
{
var container = BuildUnityContainer();
GlobalConfiguration.Configuration.DependencyResolver = new Unity.WebApi.UnityDependencyResolver(container);
}
private static IUnityContainer BuildUnityContainer()
{
var container = new UnityContainer();
*****ERROR*****
container.RegisterType<IFacade,Facade>(new CRUDOperatorSelector(new Adapter()));
return container;
}
}
Да, вы правы, что это конкретные реализации. так что это так же просто, как создать новый контейнер единства ..... зарегистрировать тип, как показано .... container.RegisterType(); .... и нет необходимости пытаться вводить что-либо в этот зарегистрированный тип? –
user1352057
Да, это должно быть так просто;) Дополнительный вопрос - какое время жизни вам нужно для этих типов - по умолчанию Вы получаете новый экземпляр этих типов каждый раз, когда единство должно будет их разрешить - например, если есть другие типы принимая CRUDOperatorSelector и Adapter в своем конструкторе, каждый из них получит отдельный новый экземпляр - надеюсь, вы знаете, что я имею в виду здесь;) –
@Prezemek Walendowski. Благодаря! Так оно и было, похоже, я собирался уйти в глубь! Можете ли вы ответить на вопрос, пожалуйста, чтобы я мог правильно выбрать ваш ответ. – user1352057