One of the most common patterns in programming is the Inversion of Control (IoC) design pattern. Sitefinity CMS provides a smooth integration of Ninject Dependency Injection (DI) framework and gives you the ability to use the IoC pattern when working with ASP.NET Web API.
The advantages of using the IoC design pattern are the following:
- Reduces class coupling
- Increases code reusability
- Improves code maintainability
- Improves application testability
The following article demonstrates how to use Dependency Injection for the constructor of a Web API controller. To achieve this, you create a custom Web API controller and define its constructor parameters via the Ninject API.
Ninject is a lightweight dependency injection framework for .NET applications. It helps you split your application into a collection of loosely-coupled, highly-cohesive pieces, and then glue them back together in a flexible manner. By using Ninject to support your software’s architecture, your code becomes easier to write, reuse, test, and modify.
You must install the Telerik.Sitefinity.Feather.Core
package, version 11.0.6700.0 or above.
Install the required NuGet packages:
- Open your SitefinityWebApp and install NuGet package
- Update the
Ninject.Web.WebApi NuGet package to version 18.104.22.168.
The Ninject and the Ninject.Web.Common packages must be version 22.214.171.124 and 126.96.36.199, respectively.