IWebHostEnvironment cung cấp thông tin về môi trường host web mà ứng dụng đang chạy trong đó.
thuộc namespace Microsoft.AspNetCore.Hosting
Interface IWebHostEnvironment cần được inject như một dependency vào Controller và sau đó dùng xuyên suốt Controller.
Interface IWebHostEnvironment có hai thuộc tính.
- WebRootPath − Đường dẫn thư mục www (Lấy hoặc đặt đường dẫn tuyệt đối đến thư mục chứa tệp nội dung ứng dụng có thể phục vụ web)
- ContentRootPath − Đường dẫn thư mục gốc chứa tất cả tệp ứng dụng (Lấy hoặc đặt IFileProvider trỏ tại WebRootPath.)
Cách Sử Dụng
Cần import namespace
using Microsoft.AspNetCore.Hosting;
Trong ví dụ dưới, IWebHostEnvironment được inject vào Controller và gán cho thuộc tính private Environment và sau đó dùng để lấy WebRootPath và ContentRootPath.
Ví Dụ
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();
}
}