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();
   }
}

相关文章