ASP.NET MVC 6路由技术

在我们跳转到自定义路由之前,我们必须先了解下MVC6基于MVC5的基本变化。 ASP.NET MVC6将所有必要的启动服务,定义和配置的应用程序依赖关系放在一个Startup.cs文件中。 Startup.cs文件替换了放置中间件和配置逻辑的global.asax的所有功能。

正如我们所知的那样,路由的操作使用Routes.MapRoute方法进行管理。在ASP.NET MVC 6Routes.MapRoute中,Startup.cs文件中不在包含这个方法,取而代之的是很少的代码。你同样还会注意到没有专门的配置文件来处理RouteConfig.csWebApiConfig.cs或其他中间处理程序,这些中间处理程序是早期的ASP.NET版本和MVC模式项目模板附带的。 Startup.cs文件具有services.AddMvc()services.UseMvc()方法来处理路由操作。

我们可以看看代码中UseMvc()方法的实现。

UseMvc()

(译者注:图中框选内容为默认路由设置代码)

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

基于属性的路由

我们必须在controller中编写代码来实现基于属性的路由。

controller

基于约定的路由

我们必须在Startup.cs中编写代码来实现基于属性的路由。

Startup.cs

本文的版权归 李郑 所有,如需转载请联系作者。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏张善友的专栏

log4net.SignalR - 日志即时发送客户端页面

在log4net的配置中,appender是最重要的部分,一般来说,每一种appender都表示一种日志的输出介质,如日志文件、EvengLog、数据库、控制台...

2088
来自专栏我的博客

开发属于自己的composer

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

36711
来自专栏Youngxj

Xposed框架怎么用?六步教您安装Xposed框架

5944
来自专栏听雨堂

JS实现页面跳转

框架中,处理完后,要刷新左页面,同时本页面也要跳转到另一个页面。刷新用 <body onload="parent.leftFrame.location.rel...

3236
来自专栏张善友的专栏

PEACHPIE 0.9.11 版本发布,可以上生产了

PeachPie在官方博客(https://www.peachpie.io/2018/10/release-0911-visual-studio.html)发布...

1251
来自专栏happyJared

Chocolatey,Windows下的包管理器

Chocolatey(中文译:巧克力味)是Windows平台下的一款包管理工具,类似于Linux平台的apt-get和yum。第一次接触到Chocolatey...

3853

ASP.NET MVC 6路由技术

在我们开始学习路由的自定义之前,先看一下MVC6较之于MVC5(在路由配置方面)有哪些变化。 ASP.NET MVC6将所有应用程序所必要的启动服务以及其所定义...

2495
来自专栏Core Net

ASP.NET Core 2.0 : 二. 开发环境

3529
来自专栏林德熙的博客

git 使用 VisualStudio 比较分支更改

有时候需要比较两个分支的不同,这时如果提交到 github ,那么默认就可以看到。但是这时因为没有ide的高亮或者其他的功能,看起来觉得不好。 默认的 Visu...

862
来自专栏漫漫全栈路

.NET Core 实战笔记3 ASP.NET Core

期末告一段落,有一周的时间给我折腾折腾,那就继续dotNet Core吧,先列一下文章列表。 .NET Core 实战笔记1-介绍和安装 .NET Core ...

4544

扫码关注云+社区