การกำหนดเส้นทางใช้เพื่อจับคู่คำขอกับตัวจัดการเส้นทาง
มีการกำหนดค่าเส้นทางเมื่อแอปพลิเคชันเริ่มทำงาน และสามารถดึงค่าจาก 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