How to resolve dependencies in ASP.NET Core


Dependency injection is a technique that allows you to inject the dependent objects of a particular class rather than create those instances directly. Using dependency injection enhances testability and maintenance by facilitating loose coupling. Additionally, dependency injection allows you to modify your implementations without having to change the dependent types that rely on them.

Dependency injection is a first-class citizen in ASP.NET Core. The built-in dependency injection provider in ASP.NET Core is not as feature-rich as IoC (inversion of control) containers such as StructureMap and Ninject, but it is fast, easy to configure, and easy to use. You can inject both framework services and application services in ASP.NET Core.

This article talks about the various ways in which you can resolve dependencies in ASP.NET Core.

To work with the code examples provided in this article, you should have Visual Studio 2022 installed in your system. If you don’t already have a copy, you can download Visual Studio 2022 here.

Create an ASP.NET Core project in Visual Studio 2022

First off, let’s create an ASP.NET Core project in Visual Studio 2022. Following these steps will create a new ASP.NET Core Web API 6 project in Visual Studio 2022:

  1. Launch the Visual Studio 2022 IDE.
  2. Click on “Create new project.”
  3. In the “Create new project” window, select “ASP.NET Core Web API” from the list of templates displayed.
  4. Click Next.
  5. In the “Configure your new project” window, specify the name and location for the new project.
  6. Optionally check the “Place solution and project in the same directory” check box, depending on your preferences.
  7. Click Next.
  8. In the “Additional Information” window shown next, select .NET 6.0 as the target framework from the drop-down list at the top. Leave the “Authentication Type” as “None” (default).
  9. Ensure that the check boxes “Enable Docker,” “Configure for HTTPS,” and “Enable Open API Support” are unchecked as we won’t be using any of those features here. You can optionally uncheck the “Use controllers (uncheck to use minimal APIs)” check box as well because we’ll be creating our own controller.
  10. Click Create.

This will create a new ASP.NET Core 6 Web API project in Visual Studio 2022. We’ll use this project to illustrate resolving dependencies in the subsequent sections of this article.

Copyright © 2021 IDG Communications, Inc.



Source link