Tôi đang làm việc trên một dự án ASP.NET MVC, nơi chúng tôi đã quyết định sử dụng Fluent nHibernate cho dataccess. Để kích hoạt khớp nối lỏng lẻo, chúng tôi đi cho một mô hình IoC/DI. Câu hỏi của tôi là công cụ IoC cần thực hiện. Tôi đã cố gắng để tìm thấy sự khác biệt giữa windsor, ninject, spring, structuremap và unity, nhưng thật khó để thấy được những lợi ích mà mỗi người cung cấp. Whats kinh nghiệm của bạn?ASP.NET MVC + fluent nNibernate, công cụ IoC nào?
Trả lời
tôi sử dụng StructureMap và nó rất dễ sử dụng. Cá nhân tôi không thích cấu hình bằng cách sử dụng xml và StructureMap làm cho nó dễ dàng để cấu hình bằng cách sử dụng mã. Nó cũng rất dễ dàng để chuyển đổi hồ sơ khác nhau nếu bạn cần phải chuyển đổi triển khai.
Scott Hanselman có một so sánh/bài viết tương phản khá tốt trên một lô đất của .NET IoCs phổ biến:
http://www.hanselman.com/blog/ListOfNETDependencyInjectionContainersIOC.aspx
Tôi sử dụng Windsor và tôi không có gì để khiếu nại. Dễ sử dụng, có thể mở rộng khi bạn cần và rất nhiều thông tin nếu bạn gặp khó khăn. Nhưng tôi không nghĩ nó quan trọng đến mức bạn chọn loại container nào. Tất cả chúng bạn đề cập đến có các tính năng phổ biến và cũng có adapter cho mvc availiable trong dự án mvccontrib. Chuyển đổi sang một vùng chứa khác sẽ không khó nếu bạn quấn vùng chứa trong một lớp riêng, đó là một thực hành tốt.
Tôi đã sử dụng Windsor và thích nó. Có một cơ sở được xây dựng để sử dụng NHibernate cho phép cấu hình đơn giản việc ghi nhật ký và các kết nối, v.v.
Nếu bạn định sử dụng FluentNhibernate, bạn phải thông báo cho cơ sở Windsor biết lắp ráp có ConfigurationBuilder. Mike Hadlow đã viết rất nhiều về điều này cộng với nhiều người khác trên Windsor và NHibernate: http://mikehadlow.blogspot.com/2009/01/integrating-fluent-nhibernate-and.html
Tôi đã đi cho windsor và kiến trúc sắc nét. Nó hoạt động hoàn hảo. Tôi cũng đã làm một số thử nghiệm với StructureMap, và không có sự khác biệt lớn. Khi sử dụng Microsoft thực hành tốt nhất ServiceLocator thật dễ dàng để thực hiện một chuyển đổi sau này. – bondehagen
Tôi sử dụng Munq nhẹ và nhanh và là cách đơn giản để thêm DI Container vào dự án MVC3 qua Nuget. Cho đến bây giờ tôi đã không tìm thấy bất kỳ cần phải di chuyển đến một khuôn khổ khác nhau - Munq đã rất đầy đủ.
PM> install-package Munq.MVC3
Điều này bổ sung App_Start\MunqMvc3Startup.cs
vào dự án và đây là nơi phụ thuộc phải được đăng ký.
- 1. Công cụ xem ASP.Net MVC là gì?
- 2. công cụ xem asp.net MVC thay thế
- 3. Công cụ blog có thể nhúng ASP.NET MVC 3
- 4. Tìm kiếm công cụ diễn đàn ASP.NET (MVC 3)
- 5. Làm thế nào để tích hợp nhà cung cấp thành viên IoC với ASP.NET MVC
- 6. Thanh công cụ gỡ lỗi cho ASP.NET
- 7. ASP.NET MVC 1 và 2 trên Mono 2.4 với Fluent NHibernate
- 8. Công cụ xem nào bạn đang sử dụng với ASP.NET MVC?
- 9. Bạn đề xuất công cụ báo cáo nào cho ứng dụng ASP.Net MVC cấp doanh nghiệp?
- 10. asp.net mvc với ioc -> tránh xây dựng súp với BaseController
- 11. Ủy quyền tùy chỉnh MVC 3 và Ninject IoC
- 12. Cách thực hiện Đơn vị công việc trong ASP.NET MVC
- 13. công cụ tìm kiếm nhẹ cho asp.net
- 14. Triển khai ASP.NET MVC trên Linux: Thực tiễn tốt nhất, Công cụ & Bất ngờ
- 15. Sử dụng ASP.NET MVC làm Công cụ tạo mẫu email: Ý tưởng hay?
- 16. ASP.NET MVC 4 và Razor 2: Công cụ xem không còn hỗ trợ xml?
- 17. Sử dụng công cụ định tuyến để gửi biểu mẫu trong ASP.NET MVC Preview 4
- 18. Công cụ xác thực cho ASP.Net MVC như Devise for Rails?
- 19. Có công cụ tạo mẫu ngọc bích cho ASP.NET MVC không?
- 20. Lỗi máy chủ trong ứng dụng '/' trong ASP.NET MVC 3 với công cụ Razor
- 21. Có công cụ báo cáo biểu đồ miễn phí trên ASP.NET MVC không?
- 22. Những lợi thế của phụ thuộc Nghị quyết và IoC trong asp.net MVC
- 23. ASP.NET MVC pseudo-localization
- 24. Cấu hình Bộ công cụ Lỗi Magical Unicorn Mvc
- 25. Đơn vị công việc trong một ứng dụng asp.net mvc
- 26. Công ước về cấu hình trong ASP.NET MVC
- 27. ASP.NET MVC 4 phá vỡ ASP.NET MVC 3 dự án
- 28. Có thư viện bổ sung hoặc công cụ nào có sẵn để phát triển ASP.NET MVC không?
- 29. Tôi nên sử dụng công cụ nào để tự động triển khai ứng dụng ASP.NET MVC của mình?
- 30. Làm thế nào để sử dụng một container DI/IoC với chất kết dính mô hình trong ASP.NET MVC 2+?
FYI, lần sau bạn đặt câu hỏi như thế này, cụm từ sẽ giống như sau: "Tôi nên tìm gì trong IoC để chơi tốt với ASP.NET MVC + fluent nHibernate?" Bạn sẽ nhận được câu trả lời tốt hơn. –