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

การกำหนดเส้นทางใน C # ASP.NET Core คืออะไร


การกำหนดเส้นทางใช้เพื่อจับคู่คำขอกับตัวจัดการเส้นทาง

มีการกำหนดค่าเส้นทางเมื่อแอปพลิเคชันเริ่มทำงาน และสามารถดึงค่าจาก URL ที่จะใช้สำหรับการประมวลผลคำขอได้

พื้นฐานการกำหนดเส้นทาง

การกำหนดเส้นทางใช้เส้นทาง (การนำ IRouter ไปใช้)

  • จับคู่คำขอขาเข้ากับตัวจัดการเส้นทาง
  • สร้าง URL ที่ใช้ในการตอบกลับ

การกำหนดเส้นทางเชื่อมต่อกับไปป์ไลน์มิดเดิลแวร์โดยคลาส RouterMiddleware ASP.NET MVC เพิ่มการกำหนดเส้นทางไปยังไพพ์ไลน์มิดเดิลแวร์เป็นส่วนหนึ่งของการกำหนดค่า

การจับคู่ URL

คำขอที่เข้ามาจะเข้าสู่ RouterMiddleware ซึ่งเรียกใช้เมธอด RouteAsync ในแต่ละเส้นทางตามลำดับ

อินสแตนซ์ IRouter เลือกว่าจะจัดการคำขอหรือไม่โดยการตั้งค่าตัวจัดการเส้นทางบริบทเป็น RequestDelegate ที่ไม่ใช่ค่าว่าง

หากตัวจัดการถูกกำหนดเส้นทาง จะถูกเรียกใช้เพื่อดำเนินการตามคำขอและจะไม่มีการประมวลผลเส้นทางต่อไป

หากเส้นทางทั้งหมดถูกดำเนินการ และไม่พบตัวจัดการสำหรับคำขอ มิดเดิลแวร์ที่เรียกถัดไปและมิดเดิลแวร์ตัวถัดไปในไปป์ไลน์คำขอจะถูกเรียกใช้

การสร้าง URL

การสร้าง URL เป็นไปตามกระบวนการวนซ้ำที่คล้ายกัน แต่เริ่มต้นด้วยการเรียกผู้ใช้หรือเฟรมเวิร์กโค้ดในเมธอด GetVirtualPath ของการรวบรวมเส้นทาง

แต่ละเส้นทางจะมีเมธอด GetVirtualPath ที่เรียกตามลำดับจนกว่าจะส่งคืน VirtualPathData anon-null

การสร้างเส้นทาง

การกำหนดเส้นทางให้คลาสเส้นทางเป็นการใช้งานมาตรฐานของ IRouter เส้นทางใช้ไวยากรณ์เทมเพลตเส้นทางเพื่อกำหนดรูปแบบที่จะจับคู่กับเส้นทาง URL เมื่อมีการเรียก RouteAsync

เส้นทางจะใช้เทมเพลตเส้นทางเดียวกันเพื่อสร้าง URL เมื่อ GetVirtualPath ถูกเรียก

ตัวอย่าง

routes.MapRoute(name: "default", template: "{controller=Home}/{action=Index}/{id?}");

กรอบงานให้ชุดของวิธีการขยายสำหรับการสร้างเส้นทางเช่น −

MapRoute
MapGet
MapPost
MapPut
MapRoute
MapVerb