有沒有人使用structuremap與asp.net的MVC 3.0的新功能DI?如果是這樣,你可以發佈一些示例代碼或一些有用的示例鏈接?在嘗試學習ASP.NET MVC 3時,我試圖確保使用所有「新」功能,並且努力集成IoC容器。StructureMap和MVC 3.0
回答
正如其他人提到你想看看Common Service Locator(CSL)是圍繞任何容器一個簡單的服務分辨率門面(您的任何選擇)。
MVC3內部大量使用了新的IDependencyResolver界面,有點像CSL但在ASP.NET MVC環境。好處是,如果您已經使用CSL,那麼您可以將其設置爲,作爲 MVC的依賴關係解析器。
本主題爲任何容器同樣重要的,而不是具體到StructureMap。
那麼,什麼是對那裏發生的:
- 你(在StructureMap的情況下,通過preferrably註冊DSL)提供一切必要的容器的註冊;
- 你得到StructureMap adapter用於公共服務定位;
- 你(可選 - 如果你需要CSL與DependencyResolver一起)註冊StructureMap適配器作爲當前服務定位:
ServiceLocator.SetLocatorProvider(() => yourStructureMapAdapter)
- 您註冊您的CSL(通過StructureMap支持)爲MVC DependencyResolver:
DependencyResolver.SetResolver(yourStructureMapAdapter)
- MVC3自動線通過內部接口IDependencyResolver(使用所有StrucutreMap DI自動佈線功能)。
除了MVC3烘焙的IoC功能,您還可以使用IoC工具的強大功能(例如,使用StructureMap中的Assemblies掃描)達到最大程度。
我四處張望了一下,這是第一個谷歌的結果我得到了。它提供了MVC 3服務位置的新功能:http://bradwilson.typepad.com/blog/2010/07/service-location-pt1-introduction.html
儘管它依賴於MVC 3的測試版本,但我確信有一些實驗可以弄清楚。
簡而言之,它看起來像他們增加了一些接口和擴展方法,你可以用它來調用StructureMap,或任何你首選的IoC庫。
更新:
我剛好在後我訂閱的博客這個鏈接。它有一些好看的示例代碼。 http://stevesmithblog.com/blog/how-do-i-use-structuremap-with-asp-net-mvc-3/
就遇到了這個有一天,可能會有所幫助:
http://weblogs.asp.net/rashid/archive/2009/02/15/asp-net-mvc-unity-and-common-service-locator.aspx
我看着那一個。這是我作爲最佳起點而保存的榜樣。感謝那一個。我同意。這很有幫助。 – jsteve81 2011-01-23 22:42:29
- 1. StructureMap,MVC和ObjectInstantiation
- 2. ASP.NET MVC和StructureMap有問題
- 3. StructureMap DBServiceRegistry和MVC-mini-profiler?
- 4. jQGrid和MVC 3.0 ViewModel
- 5. StructureMap MVC 3的IDependencyResolver
- 6. asp.net MVC 4與StructureMap
- 7. 插件控制器,StructureMap和ASP.NET MVC
- 8. StructureMap和多層MVC解決方案
- 9. Castle Windsor 3.0和ASP.NET MVC Controllers
- 10. Java - Spring 3.0 MVC和@ModelAttribute
- 11. structuremap配置asp.net的MVC 4
- 12. StructureMap ASP.NET MVC 4問題
- 13. structuremap asp .net mvc註冊
- 14. StructureMap MVC 5 html.Action問題
- 15. JSON和Firefox在Spring MVC 3.0和ExtJS
- 16. StructureMap和SqlCacheDependency
- 17. Rhino.Commons和StructureMap
- 18. StructureMap,ObjectFactory和IContainer
- 19. StructureMap和外牆
- 20. StructureMap InstanceScope.Hybrid和IDisposable
- 21. ASP.NET MVC 3.0 GridView
- 22. KnockoutJS和MVC 3.0的嵌套模板
- 23. 瓷磚3.0和Spring MVC的設置
- 24. 應用主題和風格的MVC 3.0
- 25. 亞音速3.0 MVC和段落控制
- 26. spring mvc 3.0和顯示標籤
- 27. 的Spring MVC 3.0和Apache 2瓷磚
- 28. Uploadify 3.1和MVC 3.0 HTTP 500錯誤
- 29. 春和Spring MVC 3.0 AJAX一體化
- 30. StructureMap和404錯誤
謝謝你的解釋。我碰到了這個(http://codingndesign.com/blog/?p=164)教程/文章......這真的很有幫助。我將嘗試將我所做的工作放在一起,並在此分享。我還沒有弄清楚所有的錯誤,但它的到來! :) – jsteve81 2011-01-23 22:44:55