Castle Windsor - Как можно установить Контейнер низкого уровня из Установщиков верхнего уровня? - PullRequest
0 голосов
/ 27 июня 2019

У меня есть несколько разных процессов хоста службы WCF.Каждая из них зависит от одной низкоуровневой DLL бизнес-логики.

В настоящее время DLL использует собственный механизм внедрения зависимостей, основанный на файлах XML.Существует много различий в реализациях компонентов между процессами верхнего уровня.

Я хотел бы заменить этот механизм DI подходящим инструментом DI: Castle Windsor .Я также хотел бы перейти от конфигурации на основе XML к явной конфигурации в коде через WindsorInstaller s.

Последнее ограничение заключается в том, что (в настоящее время) невозможно поднять контейнер DI из низкоуровневой DLL-библиотеки в процессы верхнего уровня.

Поэтому мой вопрос:что WindsorContainer будет находиться в низкоуровневой DLL, как он может обнаружить реализации IWindsorInstaller, предоставленные процессом верхнего уровня, который будет его запускать?

Я бы предпочел решение, основанное на API Виндзорано я не смог успешно использовать функцию FromAssembly.

1 Ответ

1 голос
/ 27 июня 2019

Наиболее предпочтительным вариантом было бы поднять его на хост-процесс, но, если вы сейчас не осуществите, как вы сказали, я, вероятно, рекомендую подход FromAssembly.

В качестве альтернативы, хотя я, как правило, не рекомендую этого, возможно, стоит взглянуть на XML-конфигурацию для установщиков .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...