Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C#

Vai Trò Của Interface IWebHostEnvironment Trong C# ASP.NET Core


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