3
我在一個相當大的項目中使用Ninject,並且想要利用Dependency Creation和Event Broker擴展。Ninject依賴創建者和事件代理的生命週期管理
依賴創作自述給出了下面的例子(儘管我相信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
並行創建時聲明我希望使用請求範圍進行標準激活,而使用依賴項創建者範圍?
嗨丹尼爾,謝謝我正在做這樣的事情。我真正想要做的是確保我的發佈者和訂閱者之間存在一對一的關係。我有多個訂閱處理程序觸發,我無法確定如何確保事件代理僅在父對象和依賴關係之間作用域,而不是其他任何可能在對象圖中向下注入的其他依賴對象。 – nukefusion