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