Я пытаюсь создать инфраструктурные библиотеки для моей компании. В библиотеках будут типичные компоненты, такие как ведение журналов, обработка исключений, электронная почта и т. Д. Эти компоненты будут использоваться всеми приложениями ASP.Net, размещенными в нашей среде (так что среда хостинга - это мой контроль).
Мой первый шаг в дизайне заключается в том, что я не хотел бы, чтобы приложения ASP.nEt имели прямую ссылку на компоненты библиотеки. Так что я думаю, чтобы внедрить эти зависимости во время выполнения. Я оценил довольно много DI-контейнеров (Unity, Spring.net и т.д.)
Но мне не нужно заставлять все приложения ASP.Net использовать этот DI-контейнер. Они получат интерфейс Dll для всех библиотечных компонентов и какую-то фабричную DLL, которая даст им конкретный экземпляр компонента.
Мой вопрос: каков наилучший способ разработки этой библиотеки DLL, чтобы только одна библиотека DLL могла обслуживать все приложения ASP.Net? Могу ли я использовать один контейнер DI для обслуживания всех приложений ASP.Net?