Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

บทบาทของอินเทอร์เฟซ IWebHostEnvironment ใน C# ASP.NET Core คืออะไร


IWebHostEnvironment ให้ข้อมูลเกี่ยวกับสภาพแวดล้อมของเว็บโฮสติ้งที่แอปพลิเคชันกำลังทำงานอยู่

เป็นของเนมสเปซ Microsoft.AspNetCore.Hosting

จำเป็นต้องฉีดอินเทอร์เฟซ IWebHostEnvironment เป็นการพึ่งพาในตัวควบคุม จากนั้นจึงใช้ทั่วทั้งคอนโทรลเลอร์

อินเทอร์เฟซ IWebHostEnvironment มีคุณสมบัติสองประการ

  • WebRootPath − พาธของโฟลเดอร์ www (รับหรือตั้งค่าพาธสัมบูรณ์ไปยังไดเร็กทอรีที่มีไฟล์เนื้อหาแอปพลิเคชันที่ให้บริการบนเว็บ)
  • ContentRootPath − พาธของโฟลเดอร์รูทที่มีไฟล์แอปพลิเคชันทั้งหมด (รับหรือตั้งค่า IFileProvider ให้ชี้ไปที่ WebRootPath)

การใช้งาน

เราจำเป็นต้องนำเข้าเนมซาเช่

using Microsoft.AspNetCore.Hosting;

ในตัวอย่างด้านล่าง IWebHostEnvironment ถูกฉีดเข้าไปใน Controller และถูกกำหนดให้กับ Environment คุณสมบัติส่วนตัว และใช้ในภายหลังเพื่อรับ WebRootPathand 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();
   }
}