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.