2014-09-03 192 views
0

我有以下項目的解決方案:與依賴注入循環依賴

核心/服務/服務接口/基礎設施/網絡UI

在基礎設施項目中,我有以下文件夾: - 數據 -IoC -Logging

Infrastructure項目中的數據文件夾包含DbContext類,repos和UoW類......服務項目需要引用基礎結構以訪問數據,並且基礎結構需要引用ser惡習項目,所以IoC容器可以解決其dependencies..That創建循環依賴..

請告訴我一個好辦法來解決這個問題?是否應該有基礎設施項目,數據和IoC應該是其中的一部分?

+0

你爲什麼不把國際奧委會的服務項目? – artm 2014-09-03 23:13:06

回答

1

國際奧委會不是基礎設施,它只是一個縫合程序實體在一起的方式 - 不關你的業務邏輯,基礎設施或服務應該能夠訪問你的IoC容器。該容器只能用於composition root。這往往是你的應用程序初始化的任何地方。在Web應用程序中,您可以在啓動時(在Web項目中)在IoC容器中註冊所有內容,然後在請求時從容器中解析控制器的實例。其餘的代碼對容器不可知。