У меня есть класс «Adapter», который обертывает объект с именем «X_Session». Этот adpater ожидает ILogger и ICacheManager.Параметры UnityContainer и конструктора
Как я думал об этом, определяя этот класс с Unity и позволяя ему разрешать оба интерфейса, которые вводятся в качестве входов конструктора.
А как насчет объекта X_Session? Он не зарегистрирован Unity, поскольку мне нужно его создать самостоятельно, потому что его конструктор требует входных параметров, которые я собираю из QueryString.
Должен ли я разрешить класс Adpater, а затем установить объект X_Session? Другой лучший способ?
Благодаря
Спасибо Onof :). Проблема заключается в том, что объект X_Session не имеет интерфейса. Он принадлежит существующему API, который я использую. Поэтому, возможно, как предложил наш коллега, я регистрирую адаптер с Unity вместе с входом X_Session в конструкторе и вручную вводим X_Session. Как вы думаете? – Bill
Угадайте, я неправильно понял вашу мысль! Я не позволяю Единству ничего знать об ISession. Это только приносит мне экземпляр IAdpaterFactory и позволяет приложению вводить объект ISession или Session в конструктор Adpater. Как насчет Adpater, мне не нужно регистрировать его в Unity? И почему? – Bill
Вы не можете зарегистрировать адаптер в Unity, если ему нужен объект сеанса, который будет создан, и Unity ничего об этом не знает. Вам нужен завод, потому что адаптеру нужен вход, который не разрешен Unity. – onof