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

จุดประสงค์ของไฟล์ Program.cs ในโครงการ C# ASP.NET Core คืออะไร


เว็บแอปพลิเคชัน 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() เริ่มแอปพลิเคชันเว็บจนหยุด