Я использую Ninject в достаточно большом проекте и хочу использовать Расширения Dependency Creation и Event Broker.
В файле сведений о создании зависимостей приводится следующий пример (хотя я считаю, что InCreatorScope
теперь, возможно, переименован в InDependencyCreatorScope
)
this.kernel.Bind<IParent>().To<Parent>();
this.kernel.DefineDependency<IParent, Dependency>();
this.kernel.Bind<Dependency>().ToSelf().InCreatorScope();
В этом примере создается зависимость через контейнер между Parent
и Dependency
без "жесткой" ссылки друг на друга. Это способствует слабой связи между компонентами и позволяет мне использовать Event Broker для публикации события в Parent
и подписки на него в Dependency
без явного подключения обработчика событий.
Мой вопрос таков: что, если Dependency
внедряется в другие объекты, и я хочу, чтобы у него было время жизни RequestScope
для стандартных активаций? Как указать, что я хочу использовать область запроса для стандартных активаций, но область создателя зависимостей при создании вместе с Parent
?