当前位置: 首页 > news >正文

怎么制作网站源码企业网站模板 演示

怎么制作网站源码,企业网站模板 演示,手机软件开发学什么,中小企业服务平台这篇文章#xff0c;我们来讲一讲什么是路由。 路由是 将用户请求地址映射为一个请求委托的过程#xff0c;负责匹配传入的Http请求#xff0c;然后将这些请求发送到应用的可执行终结点。 这里需要注意一个内容#xff0c;发送到应用的可执行终结点。 路由的分类#x…这篇文章我们来讲一讲什么是路由。 路由是 将用户请求地址映射为一个请求委托的过程负责匹配传入的Http请求然后将这些请求发送到应用的可执行终结点。 这里需要注意一个内容发送到应用的可执行终结点。  路由的分类 常规路由和属性路由 常规路由 常规路由在asp.net core程序中可以看出是 app.MapControllerRoute( name: default, pattern: {controllerHome}/{actionIndex}/{id?}); 以上是简化的模式原先模式为 app.UseEndpoints(endpoints { endpoints.MapControllerRoute( name: default , pattern: {controllerStudent}/{actionIndex}/{id?}); }); 思路就是一个控制器将指定的URL进行解析真正进行终结点的操作就是通过使用useEndpoints()了实现。 属性路由 在创建的程序中我们可以看到属性路由的终结点定义如下 app.UseEndpoints(endpoints { endpoints.MapControllers(); }); 简化后如下 app.MapControllers(); 对于RESTFul API微软推荐使用属性路由它在控制器或操作上定义。 那么什么是终结点路由呢 终结点路由 我们先看一下这段代码 在此代码中其中有 2 个是与路由相关的中间件 (1). UseRouting()中间件。 (2). MapControllerRoute()中间件。 这 2 个中间件是成对出现的相互依赖缺谁都不能完整的实现路由功能。 网上查找信息后发现 必须先执行 UseRouting()再执行 MapControllerRoute()。UseAuthorization()授权中间件是要放在二者中间的对于生成的终结点进行授权以便在执行时是带有权限的。在执行 UseRouting()中间件时也会执行 MapControllerRoute()中间件二者是一体的不可分开执行。之所以在注册时分开是因为微软推出的管道式编程提供更大的扩展性允许开发者在 UseRouting()和 MapControllerRoute()之间加入其它中间件获取 HttpContext 对象做一些其它的操作。 路由服务 路由服务是在 Program.cs 中使用 builder.Services.AddRouting()注册的只是默认在 builder 之前已经注册过了无需我们再次注册。 AddRouting()方法必须在 UseRouting()方法之前运行它是路由的基础服务。 UseRouting 此方法中会在IApplicationBuilder 注册一个名称为EndpointRoutingMiddleware 的中间件核心功能是 (1). 在执行 UseRouting()时也会执行 UseEndpoints()所以会根据 URL 格式也就是 MapControllerRoute()方法中配置的将整个应用程序中的所有 Controller控制器和 Action操作转换为对应的终结点 Endpoint。 (2). 建立请求路径与终结点之间的关系以便 HTTP 请求到达后能够寻找到正确的终结点。 (3). 创建一个 matcher 对象用于匹配HTTP 请求的路径也就是根据传过来的 HTTP 请求路径匹配到正确的终结点。 (4). 使用的是 SetEndpoint()方法将终结点附加到 HttpContext 当前上下文。 一句话总结UseRouting()的功能就是根据 HTTP 请求匹配到正确的终结点。如果向看一下到时候路由过去的终结点是在哪里可以在program中加入以下代码 app.Use((context, next) { //得到终结点 var endpoint context.GetEndpoint(); //得到路由数据 var routeData context.Request.RouteValues; return next(); }); 在这里构建好了一个 RequestDelegate 委托这个就是供UseEndpoints()中间件最终执行的请求委托类型是FuncHttpCotnext,Task 所以根据以上分析就可以得出—— 一个终结点就是一个处理请求的委托其中包含控制器action和attribute等。 UseEndpoints() 在这里你可能会有个疑问就是我请求了到了终结点了该怎么返回给我才能响应到前端 在 UseEndpoints()方法中注册了一个 EndpointMiddleware 中间件用于执行请求委托。 从 UseRouting()执行后得到最终与当前请求匹配的终结点在UseEndpoints()中调用终结点的委托处理请求从而找到执行的控制器和操作得到响应的结果并返回给用户。 前文中说到为什么要成对出现 (1). UseRouting()中间件。 (2). MapControllerRoute()中间件。 那是因为(1)是为了将所有的终结点存放在endPoint.DataSource属性中而在UseEndPoints中——》再存入到RouteOptions集合中。经过了UseRouting和MapControllerRoute执行后整个应用程序的路由表就生成了之后就可以匹配到终结点从而执行相应的请求委托。 如果中间存在UseAuthorization()会增加一个校验来做判断是否有权限执行没有将直接返回。
http://www.w-s-a.com/news/353197/

相关文章:

  • 免费网站后台管理系统模板下载百度网盘app下载安装
  • 开封网站建设培训郑州高端网站建设哪家好
  • 东莞哪家做网站很有名的公司即墨专业医院网站制作公司
  • 做面食网站china cd wordpress
  • 门户网站 营销优秀建筑模型案例作品
  • 训做网站的心得体会范文中山市 有限公司网站建设
  • 服装电子商务网站建设过程与实现两学一做学习教育网站
  • 住房和城建设网站怎么用源码建站
  • 监理工程师证查询网站百度关键词优化软件网站
  • 关于建筑建设的网站asp网站建设报告书
  • 服务二级公司网站建设平台销售模式有哪些
  • 南昌县建设局网站微信分销小程序开发
  • 网站设计师需要什么知识与技能wordpress个性
  • 做茶叶网站的目的和规划有什么做照片书的网站
  • 开福区城乡建设局门户网站关键词挖掘查询工具爱站网
  • 网站建设全国排名沈阳seo按天计费
  • 成都公司网站设计无锡seo网站推广费用
  • 建网站平台要多少钱购物网站界面设计策划
  • 学完js了可以做哪些网站长沙建站官网
  • 怎么样做问卷网站多少钱英语
  • 房产网站建设方案建筑公司是干什么的
  • wordpress建的大型网站柳州市网站建设
  • 石家庄做网站的公司有哪些微信自媒体网站建设
  • 池州哪里有做网站注册公司有哪些风险
  • 做古代风格头像的网站对网站政务建设的建议
  • 网站搜索栏怎么做设计个网站要多少钱
  • 阿里巴巴网站建设目标wamp wordpress
  • 自己做的网站怎么挂网上金蝶erp
  • 网站的页面由什么组成淘宝网网站建设的需求分析
  • 软文网站推广法dede5.7内核qq个性门户网站源码