เว็บแอปพลิเคชัน ASP.NET Core เป็นโปรเจ็กต์คอนโซลที่เริ่มดำเนินการจากจุดเข้าใช้งาน public static void Main() ในคลาสโปรแกรมที่เราสามารถสร้าง ahost สำหรับเว็บแอปพลิเคชันได้
public class Program{ public static void Main(string[] args){ BuildWebHost(args).Run(); } public static IWebHost BuildWebHost(string[] args) => WebHost.CreateDefaultBuilder(args) .UseStartup<startup>() .Build(); }
เว็บโฮสต์ เป็นคลาสสแตติกที่สามารถใช้สำหรับสร้างอินสแตนซ์ของ IWebHost และ IWebHostBuilder ด้วยค่าเริ่มต้นที่กำหนดค่าไว้ล่วงหน้า
CreateDefaultBuilder() เมธอดสร้างอินสแตนซ์ใหม่ของ WebHostBuilder พร้อมค่าเริ่มต้นที่กำหนดค่าไว้ล่วงหน้า ภายใน
มันกำหนดค่า Kestrel, IISIntegration และการกำหนดค่าอื่น ๆ isCreateDefaultBuilder() วิธีการดังต่อไปนี้
- ตั้งค่า “Content Root” ให้เป็นไดเร็กทอรีปัจจุบัน
- อนุญาตให้ส่ง args บรรทัดคำสั่งไปยังออบเจ็กต์การกำหนดค่าของคุณ
- เพิ่มทั้ง appsettings.json และ appsettings{Environment}.json ที่จะโหลดลงในวัตถุการกำหนดค่า
- เพิ่มตัวแปรสภาพแวดล้อมให้กับวัตถุการกำหนดค่า
- หากอยู่ในระหว่างการพัฒนา อนุญาตให้โหลดความลับได้
- เพิ่มตัวบันทึกคอนโซล/ดีบัก
- บอกให้แอปใช้ Kestrel และโหลดการกำหนดค่า Kestrel จาก loadconfig
- เพิ่มการกำหนดเส้นทาง
- เพิ่มการบูรณาการ IIS
เมื่อเราต้องการโฮสต์แอปพลิเคชันของเราใน ii เราจำเป็นต้องเพิ่ม UseIISIntegration() method ระบุ IIS เป็นเว็บเซิร์ฟเวอร์ภายนอก
UseStartup
สร้าง() method ส่งคืนอินสแตนซ์ของ IWebHost และ Run() เริ่มแอปพลิเคชันเว็บจนหยุด