Asp.net-Mvc

如何在 3 層 Web 應用程序(ASP.NET MVC)中使用 Autofac?

  • November 27, 2008

我可以找到的範例使用兩層架構,其中控制器直接使用數據訪問層中的儲存庫類。見這里這裡

如果您有使用這些組件的服務或業務邏輯層,您會在哪裡註冊數據訪問層的組件?理想情況下,不應從使用者界面層引用數據訪問層,對嗎?所以 Application_Start 不是正確的地方。

有什麼更好的方法?

謝謝!

必須知道您要使用哪些實現。通常有 3 種方法可以完成此操作:

  1. 在編譯時這是 Autofac 使用的
  2. 在執行時從 Castle Windsor 可以執行的預定義配置文件
  3. 在執行時使用動態配置

使用 Autofac,您有幾個選擇

  1. 在 Application_Start 中將所有內容連接在一起
  2. 將責任交給另一個實現工廠模式並註冊所需組件的組件。

對於#2,我將實現類似於 IContainer 介面的東西,以便您的 IoC 框架與您的系統鬆散耦合。然後讓您的數據訪問實現使用該介面註冊所需的組件。

引用自:https://stackoverflow.com/questions/324054