IwebHostEnvironment接口

问题描述 投票:0回答:1

我在代码中使用了 IwebHostEnvironment。 IWebHostEnvironment 是一个接口,用于提供有关托管的信息并可以从中获取有关路径的数据

为什么我可以从中获取一个实例并注入它,就像注入 _db 一样,而无需像注册 Db 上下文那样在 ConfigureServices 方法中注册它?

public class ProductController : Controller
{
    private readonly App_DbContext _db;
    private readonly IWebHostEnvironment _webHostEnvironment;
    public ProductController(App_DbContext db,IWebHostEnvironment webHostEnvironment)
    {
        _db = db;
        _webHostEnvironment = webHostEnvironment;
    }
    public IActionResult Index()
    {
        IEnumerable<Product> products= _db.Product;
        return View(products);
    }
}

这是配置服务方法

public void ConfigureServices(IServiceCollection services)
{
    services.AddDbContext<App_DbContext>(options =>
    options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
    services.AddControllersWithViews();
}
asp.net-core dependency-injection asp.net-core-mvc
1个回答
1
投票

同意@Nkosi,你可以参考本节

IWebHostEnvironment
是框架注册的服务之一。

© www.soinside.com 2019 - 2024. All rights reserved.