загрузка провайдеров динамически с помощью Autofac - PullRequest
1 голос
/ 25 июня 2011

Я использую Autofac в своем проекте

У меня есть разные провайдеры, такие как данные или журналы и т. Д. Провайдеры thease установлены в разделах web.config, и у меня есть провайдер по умолчанию для каждого раздела.То мой вопрос: как я могу использовать autofac для динамической загрузки своих провайдеров?

1 Ответ

1 голос
/ 25 июня 2011

Шаблон поставщика на самом деле является целенаправленной реализацией IoC. Поскольку у него есть фасад и собственная модель конфигурации, ему сложно контролировать образ жизни с помощью Autofac или любого другого контейнера DI.

То, что вы можете и должны делать, - это предотвращать непосредственный вызов приложением фасада провайдера (такого как статический класс Membership модели поставщика членства ASP.NET). Вместо этого зарегистрируйте провайдера (т.е. MembershipProvider базовый класс в случае модели членства) в Autofac и дайте ему быть введенным в приложение. Например:

builder.Register<MembershipProvider>(c => Membership.Provider);
...