Tôi đang sử dụng Ninject for DI và phần mở rộng Ninject.MVC3 trong ứng dụng MVC4, phiên bản cụ thể 3.0.0.6.Tôi có cần đăng ký Ninject.OnePerRequestModule với Ninject.Web.MVC 3.0 không?
Đọc documentation trên wiki của Ninject, có vẻ như tuổi thọ của các đối tượng được tạo bằng InRequestScope
thực sự được kiểm soát bởi ASP.NET và để dọn dẹp đúng cách nên đăng ký OnePerRequest
HttpModule.
Tuy nhiên có vẻ như tài liệu này đã lỗi thời vì không thể tìm thấy type="Ninject.OnePerRequestModule"/>
.
Mặt khác, tôi đọc một số bits gần đây dường như gợi ý rằng NinjectHttpApplication
đã đề cập đến OnePerRequest
.
Câu hỏi của tôi là liệu Ninject.Web.MVC 3.0 đã xử lý vấn đề này hay chưa hoặc tôi vẫn phải tự thêm HttpModule vào 'web.config' của mình.
Tôi đã thêm dưới đây để cấu hình của tôi và tất cả mọi thứ dường như được làm việc, mặc dù tôi không có ý tưởng ở tất cả các cách để kiểm tra khi đối tượng bị phá hủy:
<system.web>
<httpModules>
<add name="OnePerRequestModule" type="Ninject.Web.Common.OnePerRequestHttpModule"/>
</httpModules>
...
Tôi có cần phải tự thêm các OnePerRequest
HttpModule hoặc không Ninject.Web.MVC xử lý này cho tôi?
Doh! Cảm ơn Ruben ... Tôi nên đã xem xét thử nghiệm thông qua IDisposable cho bản thân mình! Và bạn biết đấy, nếu tôi đã không ngủ 4 tiếng đêm trước khi tôi có thể đã thực sự đọc doco đúng ... Cảm ơn bạn đã làm rõ. Nhiều chi tiết hơn wiki. Cảm ơn bạn đã nỗ lực rất nhiều vào câu trả lời. Paul. –