IWebHostEnvironment接口在C#ASP.NET Core中起什么作用?

IWebHostEnvironment提供有关正在运行应用程序的Web托管环境的信息。

属于命名空间Microsoft.AspNetCore.Hosting

IWebHostEnvironment接口需要注入为控制器依赖性再后来整个控制器使用。

该IWebHostEnvironment接口有两个属性。

  • WebRootPath -www文件夹的路径(获取或设置包含Web服务应用程序内容文件的目录的绝对路径)

  • ContentRootPath -根文件夹路径包含了所有应用程序文件(获取或设置IFileProvider在WebRootPath指指点点。)

用法

我们需要导入namesace

using Microsoft.AspNetCore.Hosting;

在下面的示例中,将IWebHostEnvironment注入到Controller中,并分配给私有属性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();
   }
}