我已經通讀SimpleInjector文檔幾次。但有幾個問題。適用於WebApi和UnitOfWork的正確SimpleInjector配置
上下文:
- 3層的應用程序(演示(MVC + API控制器),服務(業務邏輯),數據(存儲庫,實體等)工作的
- 單位是圍繞EF的薄的包裝器的DbContext
- 我工作的DbContext和單位註冊PerWebRequest,使用 RegisterWebApiRequest導致異常,因爲工作的單位是用來 以外的Web API請求。 個
- 我的MVC和API控制器使用RegisterWebApiControllers(GlobalConfiguration.Configuration)和RegisterMvcControllers(Assembly.GetExecutingAssembly())
- 每個控制器都具有注入其中一個或多個服務註冊。
- 每個服務都有一個或多個注入其中的存儲庫。
- 服務也可能注入其他服務。
- 我想要在我的所有服務/存儲庫中存在相同的工作單元/ DbContext。
問題:
因爲我用我的MVC控制器以及API控制器服務;這是否意味着我不能使用RegisterWebApiRequest來代替RegisterPerWebRequest?
沒有我的服務,存儲庫等維護任何狀態,我會使用PerWebRequest與Transient一樣獲得相同的功能;在Transient上使用PerWebRequest有什麼好處嗎?
可能的重複[如何在MVC Web應用程序中使用WebAPI,WCF,SignalR和背景Taks配置簡單注入器容器和lifestylse](http://stackoverflow.com/questions/26433012/how-to-configure-simple -injector-container-and-lifestylse-in-a-mvc-web-app-with) – Steven