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 条评论
登录 后参与评论

相关文章

来自专栏hbbliyong

混合模式程序集是针对“v2.0.50727”版的运行时生成的,在没有配置其他信息的情况下,无法在 4.0 运行时中加载该...

今天在把以前写的代码生成工具从原来的.NET3.5升级到.NET4.0,同时准备进一步完善,将程序集都更新后,一运行程序在一处方法调用时报出了一个异常: 混合模...

411100
来自专栏施炯的IoT开发专栏

How-to: 利用Visual Studio升级Windows Phone 7工程

        自从Windows Phone SDK 7.1 RTM发布以后,我们在Visual Studio 2010 Express for Window...

22160
来自专栏张善友的专栏

ASP.NET安全隐患的临时解决方法

前几天的一个安全会议上公布了一个ASP.NET中的安全隐患(在1.0至4.0的版本中均存在),黑客可以使用这个隐患获取到网站的web.config文件(往往保存...

24280
来自专栏张善友的专栏

Windows 7 上安装Visual Studio 2015 失败解决方案

安装之前先要看看自己的系统支不支持,具体的可以看:https://www.visualstudio.com/en-us/visual-studio-2015-s...

24780
来自专栏漫漫全栈路

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

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

32370
来自专栏黑泽君的专栏

Qt Creator新安装后运行一个程序后,出现错误:Error while building/deploying project dict-qt (kit: Desktop Qt 5.10.0 Mi

1、环境介绍:在windows10 Pro下,当前Qt Creator版本,如下图所示:

1.9K20
来自专栏我的博客

开发属于自己的composer

1.新建一个git仓库 备注:可以在github建立,如果要建立私有的composer,可以自己搭建git仓库 2.初始化composer文件 执行compo...

383110
来自专栏张善友的专栏

控制ASP.NET Web API 调用频率

很多的api,例如GitHub’s API 都有流量控制的做法。使用速率限制,以防止在很短的时间量客户端向你的api发出太多的请求.例如,我们可以限制匿名API...

24990
来自专栏大内老A

通过3个Hello World应用来了解ASP.NET 5应用是如何运行的(3)

设置自定义的入口程序体现应用本身与应用托管之间的分离,它使我们可以创建独立于托管环境的应用,并根据需要寄宿于任何一个我们希望的宿主程序下,对于Web应用来说这一...

19270
来自专栏张善友的专栏

【实验手册】使用Visual Studio Code 开发.NET Core应用程序

25090

扫码关注云+社区

领取腾讯云代金券