ASP.NET Core——网址路由

  网址路由在ASP.NET MVC中有两个主要目的,分别是比对通过浏览器传来的HTTP要求与响应适当的网址给浏览器,分别描述如下。

比对通过浏览器传来的HTTP要求

  这个部分是为了能让客户端对ASP.NET网站进行要求时,能够通过网址路由查找适当的HttpHandler来处理网页,大致流程图如下:

    

  如果HttpHandler是由MvcHandler来处理,那么这时候就会进入ASP.NET MVC的运行生命周期,并且会查找适当的Controller与Action进行处理,并适当地响应消息给客户端。

响应适当的网址给浏览器

  网址路由的另一个重要功能是决定ASP.NET MVC应该输出什么样的网址响应给浏览器,我们知道,所有的网页呈现都会将程序代码撰写在View页面里,这其中当然包括所有出现在View里的超链接。

  

时间: 2024-08-26 18:00:01

ASP.NET Core——网址路由的相关文章

ASP.NET Core的路由[5]:内联路由约束的检验

当某个请求能够被成功路由的前提是它满足某个Route对象设置的路由规则,具体来说,当前请求的URL不仅需要满足路由模板体现的路径模式,请求还需要满足Route对象的所有约束.路由系统采用IRouteConstraint接口来表示路由约束,所以我们在接下来的内容中将路由约束统称为RouteConstraint. 在大部分情况下,约束都是针对路由模板中定义的某个路由参数,其目的在于验证URL携带的某部分的内容是否有效.不过也有一些约束与路由参数无关,这些约束规范往往是除URL之前的其他请求元素,比如

ASP.NET Core 属性路由 - ASP.NET Core 基础教程 - 简单教程,简单编程

原文:ASP.NET Core 属性路由 - ASP.NET Core 基础教程 - 简单教程,简单编程 ASP.NET Core 属性路由 经过前面章节的学习,想必你已经对 ASP.NET Core MVC 中的路由有了大概的了解,本来我想多花几章节来讲解路由规则,但是,作为基础教程,我们还是讲解下一个知识点吧. 在本章中,我们将学习另一种路由方法,即基于属性的路由. 属性路由 通过基于属性的路由,我们可以在控制器类和这些类的内部方法上使用 C# 属性. 这些属性携带了告诉 ASP.NET C

ASP.NET Core的路由[2]:路由系统的核心对象——Router

ASP.NET Core应用中的路由机制实现在RouterMiddleware中间件中,它的目的在于通过路由解析为请求找到一个匹配的处理器,同时将请求携带的数据以路由参数的形式解析出来供后续请求处理流程使用.但是具体的路由解析功能其实并没有直接实现在RouterMiddleware中间件中,而是由一个Router对象来完成的.[本文已经同步到<ASP.NET Core框架揭秘>之中] 目录一.IRouter接口二.RouteContext三.RouteData四.Route五.RouteHan

ASP.NET Core的路由[1]:注册URL模式与HttpHandler的映射关系

ASP.NET Core的路由是通过一个类型为RouterMiddleware的中间件来实现的.如果我们将最终处理HTTP请求的组件称为HttpHandler,那么RouterMiddleware中间件的意义在于实现请求路径与对应HttpHandler之间的映射关系.对于传递给RouterMiddleware中间件的每一个请求,它会通过分析请求URL的模式并选择并提取对应的HttpHandler来处理该请求.除此之外,请求的URL还会携带相应参数,该中间件在进行路由解析过程中还会根据生成相应的路

ASP.NET Core的路由[4]:来认识一下实现路由的RouterMiddleware中间件

虽然ASP.NET Core应用的路由是通过RouterMiddleware这个中间件来完成的,但是具体的路由解析功能都落在指定的Router对象上,不过我们依然有必要以代码实现的角度来介绍一下这个中间件.在这之前,我们先来认识一个特殊的特性.[本文已经同步到<ASP.NET Core框架揭秘>之中] 让RouterMiddleware中间件委托Router完整整个路由工作之后,解析出来的路由参数会以一个RouteData对象的形式存储在RouteContext上下文中.但是RouteCont

asp.net core 区域路由

Areas 提供了一种把大型 ASP.NET Core MVC Web 应用程序分为较小的功能分组的方法,用到了区域那区域路由就必不可少,下面简单实现区域路由的两种方式 1 此方式必须给控制器加上区域属性,也就是路由会自动匹配所有添加路由属性的controller 1 //路由 2 routes.MapRoute(name: "areaRoute", 3 template: "{area:exists}/{controller=MyHome}/{action=Index}&q

了解ASP.NET Core端点路由

原作者Areg Sarkissian 介绍 在这篇文章中,我将说明从版本2.2开始已添加到ASP.NET Core中间件管道中的新的端点路由功能,以及它如何演进到当前在预览版3的即将发布的版本3.0. 端点路由背后的动机 在端点路由之前,在HTTP请求处理管道的末尾,在ASP.NET Core MVC中间件中完成了ASP.NET Core应用程序的路由解析.这意味着在中间件管道中的MVC中间件之前,路由信息(例如将执行哪些控制器操作)对于处理请求的中间件不可用. 例如在CORS或授权中间件中提供

.NET跨平台之旅:将示例站点从 ASP.NET 5 RC1 升级至 ASP.NET Core 1.0

终于将".NET跨平台之旅"的示例站点 about.cnblogs.com 从 ASP.NET 5 RC1 升级至 ASP.NET Core 1.0 ,经历了不少周折,在这篇博文中记录一下. 从 ASP.NET 5 到 ASP.NET Core 最大的变化,除了改名之外,就是用 dotnet cli(命令名是dotnet)取代了dnx.所以运行 ASP.NET Core 程序,首先要安装 dotnet cli,我们是在 Ubuntu 服务器上用 apt-get install dotn

【目录】ASP.NET Core 2.1 入门教程

ASP.NET Core 2.1 快速学习.入门系列教程,这个入门系列教程为了帮助大家快速上手ASP.NET Core. 本教程包含且不限于: 使用VS Code开发ASP.NET Core应用 ASP.NET Core MVC 开发(路由.控制器.视图) EF Core(连接MySQL,基础数据库操作示例) NLog日志组件使用 ASP.NET Core 中间件等等 本教程示例代码:https://github.com/ken-io/asp.net-core-tutorial https://