卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章16333本站已运行3317

C# ASP.NET Core 中的路由是什么?

C# ASP.NET Core 中的路由是什么?

路由用于将请求映射到路由处理程序。

路由在应用程序启动时进行配置,并且可以从 将用于请求处理的 URL。

路由基础知识

路由使用路由(IRouter 的实现)

  • 映射传入请求路由处理程序
  • 生成响应中使用的 URL

路由通过 RouterMiddleware 类连接到中间件管道。 ASP.NET MVC 将路由添加到中间件管道作为其配置的一部分

URL 匹配

传入请求进入调用 RouteAsync 方法的 RouterMiddleware

IRouter 实例通过设置 非空 RequestDelegate 的 RouteContext 处理程序。

如果处理程序设置了路由,它将被调用来处理请求,并且不会进一步 路由将被处理。

如果所有路由都被执行,并且没有找到请求的处理程序,中间件将调用 next 和请求管道中的下一个中间件被调用。

URL 生成

URL 生成遵循类似的迭代过程,但从用户或框架开始 调用路由集合的 GetVirtualPath 方法的代码。

然后,每个路由都会按顺序调用其 GetVirtualPath 方法,直到 返回非空 VirtualPathData

创建路由

Routing 提供 Route 类作为 IRouter 的标准实现。 路由使用路由模板语法来定义将与 调用 RouteAsync 时的 URL 路径。

当 GetVirtualPath 为时,Route 将使用相同的路由模板生成 URL 调用。

示例

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

该框架提供了一组用于创建路由的扩展方法,例如 -

MapRoute
MapGet
MapPost
MapPut
MapRoute
MapVerb

卓越飞翔博客
上一篇: 利用Python语言对接百度自然语言处理接口,让程序实现智能化的处理
下一篇: 解决PHP Fatal error: Call to a member function on boolean错误
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏