How do you implement DI in ASP.NET Core MVC?
ASP.NET Core MVC has built-in support for Dependency Injection.
- Register services in Startup.cs within ConfigureServices method using
IServiceCollection:
public void ConfigureServices(IServiceCollection services)
services.AddControllersWithViews();
services.AddScoped<IProductService, ProductService>(); //
Example
- Inject dependencies via constructor injection in controllers or services:
public class HomeController : Controller
private readonly IProductService _productService;
public HomeController(IProductService productService)
_productService = productService;
public IActionResult Index()
var products = _productService.GetAll();
return View(products);
The framework resolves and injects dependencies automatically.