Dependency Injection cho API trong ASP.NET MVC sử dụng StructureMap

Trong bài viết trước tôi đã hướng dẫn các bạn sử dụng Autofac để cài đặt và áp dụng Dependency Injection vào trong dự án ASP.NET MVC. Trong bài viết này tôi sẽ hướng dẫn các bạn sử dụng một thư viện khác, đó là StructureMap đề áp dụng cho API trong ASP.NET MVC. Cách làm như sau

Bước 1 : Cài đặt StructureMap

Các bạn sử dụng Nuget Package Manager cài đặt thư viện sau đây

Sử dụng structure map để cài đặt DI cho asp.net mvc

Bước 2 : Viết code cài đặt

Tạo thư mục IOC trong project, thêm các class sau như hình bên dưới

Viết các class cài đặt cho structure map

ApiRegister

StructureMapDependencyResolver

StructureMapScope

Sau khi tạo xong các class trên, các bạn vào file Global.asax.cs và thêm đoạn lệnh sau vào hàm Application_Start

Bước 3 : Inject trong Controller

Bây giờ trong controller, các bạn chỉ cần inject thông qua constructor như sau