Tôi biết rằng hàng nghìn câu hỏi liên quan đến chủ đề này đã được hỏi, nhưng tôi đã trải qua ít nhất một tá và vẫn chưa kết nối các dấu chấm. Tôi đang cố gắng để thiết lập tiêm phụ thuộc cho bối cảnh thực thể.Ninject: Ngữ cảnh thực thể đối với bộ điều khiển
Tôi đã luôn luôn tạo ra bối cảnh thực thể của tôi như tôi đã thấy trong các hướng dẫn MS, như vậy:
public class UserController : Controller
{
private DbEntities db = new DbEntities();
}
đọc gần đây đã nói với tôi rằng đây là không còn (nếu nó bao giờ là) các thực hành tốt nhất, và phương pháp tiêm phụ thuộc nên được sử dụng. Ninject được đề cập thường xuyên, nhưng tôi thấy cách bạn di chuyển từ những gì tôi có, đến ví dụ đưa ra trong số Ninject documentation.
Nó sẽ giống như thế này khi tôi làm xong, phải không?
public class UserController : Controller
{
private DbEntities db;
public UserController(DbEntities context)
{
db = context;
}
}
Tài liệu bắt đầu bằng "Ở bước trước, chúng tôi đã chuẩn bị mọi thứ cần thiết cho việc điều khiển tiêm". điều gây nhầm lẫn là địa ngục, vì bước trước đã được cài đặt. Tôi đã sử dụng phương pháp Nuget để cài đặt, nhưng tôi không biết ý nghĩa của nó khi nói "Bây giờ tải các mô-đun của bạn hoặc xác định các ràng buộc trong phương thức RegisterServices." Làm thế nào để làm điều đó, và là thực thể một mô-đun hoặc một ràng buộc? Các tài liệu cảm thấy rất thưa thớt.
Tôi xin lỗi nếu tôi bỏ qua thứ gì đó quan trọng trong tài liệu, tôi đã nảy ra giữa các diễn đàn trong nhiều giờ để tìm ra bước này.
Cảm ơn bạn. Tôi đã tải xuống mẫu, nhưng nó có quá nhiều thứ đang diễn ra trong đó khiến cho khó có thể biết được những gì đang làm.Tôi không hiểu làm thế nào ràng buộc đang làm việc vẫn còn, nhưng dòng đó có vẻ là tất cả phải mất để cung cấp cho các nhà xây dựng của bộ điều khiển bối cảnh. Bạn có thể giới thiệu bất kỳ bài viết hoặc hướng dẫn nào thực sự giải thích những gì đang xảy ra ở đây không? –
Tyrsius
Tôi sẽ kiểm tra các liên kết trên 'http: // ninject.org/learn', cũng nói chung để tiêm phụ thuộc, hãy xem cuốn sách" Dependency Injection in .NET "của Mark Seemann – BrokenGlass