C# ASP.NET Core 中的路由是什麼?
路由用於將請求對映到路由處理程式。
路由在應用程式啟動時配置,並且可以從 URL 中提取用於請求處理的值。
路由基礎
路由使用路由(IRouter 的實現)
- 將傳入請求對映到路由處理程式
- 生成響應中使用的 URL
路由透過 RouterMiddleware 類連線到中介軟體管道。ASP.NET MVC 在其配置的一部分中將路由新增到中介軟體管道。
URL 匹配
傳入請求進入 RouterMiddleware,後者依次呼叫每個路由上的 RouteAsync 方法。
IRouter 例項透過將 RouteContext Handler 設定為非空 RequestDelegate 來選擇是否處理請求。
如果為路由設定了處理程式,則將呼叫它來處理請求,並且不會處理其他路由。
如果所有路由都已執行,並且找不到請求的處理程式,則中介軟體呼叫 next,並且呼叫請求管道中的下一個中介軟體。
URL 生成
URL 生成遵循類似的迭代過程,但從使用者或框架程式碼呼叫路由集合的 GetVirtualPath 方法開始。
然後,將依次呼叫每個路由的 GetVirtualPath 方法,直到返回非空 VirtualPathData。
建立路由
路由提供 Route 類作為 IRouter 的標準實現。Route 使用路由模板語法定義在呼叫 RouteAsync 時將與 URL 路徑匹配的模式。
當呼叫 GetVirtualPath 時,Route 將使用相同的路由模板生成 URL。
示例
routes.MapRoute(name: "default", template: "{controller=Home}/{action=Index}/{id?}");框架提供了一組用於建立路由的擴充套件方法,例如:
MapRoute MapGet MapPost MapPut MapRoute MapVerb
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP