在Asp.NET Core中,使用IHostingEnvironment接口抽象了托管环境。
该ContentRootPath属性将让您使用的应用程序内容文件的绝对路径。
如果您想访问可在Web上使用的根路径(默认为www
文件夹),则也可以使用WebRootPath属性。
可以将此依赖项注入到控制器中,并按以下方式访问它:
1、.NET Core 3.0之前版本
public class HomeController : Controller
{
private readonly IHostingEnvironment _hostingEnvironment;
public HomeController(IHostingEnvironment hostingEnvironment)
{
_hostingEnvironment = hostingEnvironment;
}
public ActionResult Index()
{
string webRootPath = _hostingEnvironment.WebRootPath;
string contentRootPath = _hostingEnvironment.ContentRootPath;
return Content(webRootPath + "\n" + contentRootPath);
}
}
2、.NET Core 3.0版本
//IHostingEnvironment已被.NET Core 3.0标记为过时。如果目标框架是.NET Core 3.0,使用如下所示的IWebHostEnvironment public class HomeController : Controller { private readonly IWebHostEnvironment _webHostEnvironment; public HomeController(IWebHostEnvironment webHostEnvironment) { _webHostEnvironment= webHostEnvironment; } public IActionResult Index() { string webRootPath = _webHostEnvironment.WebRootPath; string contentRootPath = _webHostEnvironment.ContentRootPath; return Content(webRootPath + "\n" + contentRootPath); } }