C# ASP.NET Core 中 IWebHostEnvironment 接口的作用是什么?
csharpserver side programmingprogramming更新于 2025/9/30 13:07:17
IWebHostEnvironment 提供有关应用程序正在运行的 Web 托管环境的信息。
属于命名空间 Microsoft.AspNetCore.Hosting
IWebHostEnvironment 接口需要作为依赖项注入到 Controller 中,然后在整个 Controller 中使用。
IWebHostEnvironment 接口有两个属性。
- WebRootPath − www 文件夹的路径(获取或设置包含可用于 Web 服务的应用程序内容文件的目录的绝对路径)
- ContentRootPath −包含所有应用程序文件的根文件夹路径(获取或设置指向 WebRootPath 的 IFileProvider。)
用法
我们需要导入命名空间
using Microsoft.AspNetCore.Hosting;
在下面的示例中,IWebHostEnvironment 被注入到控制器中,并赋值给私有属性 Environment,之后用于获取 WebRootPath 和 ContentRootPath。
示例
public class HomeController : Controller{
private IWebHostEnvironment Environment;
public HomeController(IWebHostEnvironment _environment){
Environment = _environment;
}
public IActionResult Index(){
string wwwPath = this.Environment.WebRootPath;
string contentPath = this.Environment.ContentRootPath;
return View();
}
}

