专栏首页ASP.NET MVC 6路由技术

ASP.NET MVC 6路由技术

在我们开始学习路由的自定义之前,先看一下MVC6较之于MVC5(在路由配置方面)有哪些变化。 ASP.NET MVC6将所有应用程序所必要的启动服务以及其所定义和配置的依赖关系放在Startup.cs文件中。 Startup.cs文件取代了我们之前(在MVC5中用来)存放中间件和配置逻辑的global.asax文件并实现了其所有功能。

路由活动可以通过Routes.MapRoute方法进行管理。在ASP.NET MVC 6 中,Routes.MapRoute并不是Startup.cs的一部分,这个文件现在只包含很少的代码。你还会发现在MVC6中没有专门的配置文件来处理RouteConfig.csWebApiConfig.cs或其他中间处理程序,这些中间处理程序在早期的ASP.NET版本和MVC项目模板中是附带的。Startup.cs文件中存在services.AddMvc()services.UseMvc()两个方法来处理路由活动。

我们从代码看一下UseMvc()方法的是如何进行实现的。

UseMvc()方法的实现

我们可以使用基于属性(Attribute Based)基于约定(Convention Based)的方法来添加我们自己的路由。我自己通常同时使用这两种方法,因为如果一起使用这两种方法的话,基于属性的路由会覆盖基于约定的路由。而这两个路由都会覆盖由UseMvc()方法定义的默认路由。

基于属性的路由

控制器中编写代码来实现基于属性的路由。

基于属性的路由实现

基于约定的路由

Startup.cs中编写代码来实现基于属性的路由。

基于约定的路由实现

本文的版权归 极大似然 所有,如需转载请联系作者。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • ASP.NET MVC 6路由技术

    在我们跳转到自定义路由之前,我们必须先了解下MVC6基于MVC5的基本变化。 ASP.NET MVC6将所有必要的启动服务,定义和配置的应用程序依赖关系放在一个...

    Techeek
  • 【译】ASP.NET MVC 6路由技术

    原文作者:Pramod Gawande 原文地址:https://dzone.com/articles/aspnet-mvc-6-routing-techniq...

    李郑
  • 自学MVC看这里——全网最全ASP.NET MVC 教程汇总

    MVC架构已深得人心,微软也不甘落后,推出了Asp.net MVC。小编特意整理博客园乃至整个网络最具价值的MVC技术原创文章,为想要学习ASP.NET MVC...

    葡萄城控件
  • 七天学会ASP.NET MVC(七)——创建单页应用

    系列文章 七天学会ASP.NET MVC (一)——深入理解ASP.NET MVC 七天学会ASP.NET MVC (二)——ASP.NET MVC 数据传递 ...

    葡萄城控件
  • ASP.NET MVC编程——路由

    框架自动生成的路由配置 ? 上图中,路由配置文件为App_Start文件夹下的RouteConfig.cs。 代码如下: public class RouteC...

    甜橙很酸
  • ASP.NET MVC 路由详解

    事隔多年,其实也就一年啦,重新整理下ASP.NET MVC的相关知识。继续前面的内容,来说说路由。

    李郑
  • ASP.NET MVC路由扩展:路由映射

    上周我写了三篇文章(一、二、三)详细地介绍了ASP.NET的路由系统。ASP.NET的路由系统旨在通过注册URL模板与物理文件之间的映射进而实现请求地址与文件路...

    蒋金楠
  • MVC系列之开始

       4月5号晚本来应该写出来的,这几天迷上了炉石传说,打得有点疯,明天又得上班了,收拾心情还是得写出来。上星期5晚上回家的时候,不得不吐槽一下的确有点背。6点...

    陈珙
  • 如何在 ASP.NET MVC 中集成 AngularJS(1)

    介绍 当涉及到计算机软件的开发时,我想运用所有的最新技术。例如,前端使用最新的 JavaScript 技术,服务器端使用最新的基于 REST 的 Web API...

    葡萄城控件
  • 快速入门系列--MVC--07与HTML5移动开发的结合

        现在移动互联网的盛行,跨平台并兼容不同设备的HTML5越来越盛行,很多公司都在将自己过去的非HTML5网站应用渐进式的转化为HTML5应用,使得一套代码...

    用户1216676
  • ROR学习笔记(2):Asp.Net开发者看ROR

    ROR集成了诸多"先进"的理念,比如mvc,模板替换,orm,实体验证,ajax,数据库迁移,session的多种保存机制...等等,也许在今天看来,这些东西都...

    菩提树下的杨过
  • Asp.net mvc 知多少(一)

    本系列主要翻译自《ASP.NET MVC Interview Questions and Answers 》- By Shailendra Chauhan,想...

    圣杰
  • 移动站点开发

    作者Dino Esposito 尝试从不主要侧重于技术的角度阐述移动站点开发,是每个web开发人员必读的系列文章,文章如下: 移动站点开发:第 1 部分 标记 ...

    张善友
  • WebForms使用System.Web.Routing

    老赵同学写过 在Web应用程序开发过程中利用ASP.NET MVC框架的实战技巧 ,Routing现在可以作为URLRewriting技术的替代者,出现在asp...

    张善友
  • Asp.net mvc 知多少(四)

    本系列主要翻译自《ASP.NET MVC Interview Questions and Answers 》- By Shailendra Chauhan,想...

    圣杰
  • 【asp.net core 系列】 1 带你了解一下asp.net core

    这是一个新的系列,名字是《ASP.NET Core 入门到实战》。这个系列主讲ASP.NET Core MVC,辅助一些前端的基础知识(能用来实现我们需要的即可...

    程序员小高
  • ASP.NET MVC使用Bootstrap系列(1)——开始使用Bootstrap

    作为一名Web开发者而言,如果不借助任何前端框架,从零开始使用HTML和CSS来构建友好的页面是非常困难的。特别是对于Windows Form的开发者而言,更...

    用户1161731
  • ASP.NET MVC是如何运行的[2]: URL路由

    在一个ASP.NET MVC应用来说,针对HTTP请求的处理和相应定义Controller类型的某个Action方法中,每个HTTP请求的目标对象不再像ASP ...

    蒋金楠
  • ServiceStack.Host.MVC vs ASP.NET MVC

    KenTalk

扫码关注云+社区

领取腾讯云代金券