Autofac vs Ninject контекстная привязка?
1) Autofac и Ninject, какой из них лучше в контекстной привязке?
2) С помощью Ninject я могу связываться с типами в определенном пространстве имен:
Bind<A>().To<B>().When(context =>
context.ParentContext.Binding.Service.Namespace == "MyProject.Common");
Могу ли я сделать это с Autofac?
Спасибо!
(Извините за мой английский)
1 ответ
Решение
Из этих двух только Ninject предоставляет эту функциональность.
Это полезная функция, но Autofac исключает ее, чтобы предотвратить хрупкость в других специфических функциях Autofac, которые зависят от того, что зависимость не знает о зависимом компоненте.
Если у вас есть сценарий, который выиграл бы от такого поведения в Autofac, не стесняйтесь опубликовать его, и я попробую перевести его в способ действий Autofac:)
Надеюсь, это поможет, Ник