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

相关文章

来自专栏技术博客

Asp.Net Web API 2第五课——Web API路由

    Asp.Net Web API第一课——入门 http://www.cnblogs.com/aehyok/p/3432158.html

965
来自专栏编程坑太多

『中级篇』k8s的Service简介和演示(67)

PS:根据你修改的文件内容,它就自动更新了,但是ip没有发生改变,这就是service的强大。但是目前这种直接改deloyment文件的形式,不是推荐的因为他不...

582
来自专栏Jerry的SAP技术分享

在浏览器里使用SAPGUI里的SE80

(1). 在后台找到Fiori catalog page ID: SAP_FIORI_EXTENSIBILITY

3255
来自专栏k8s

k8s使用ingress暴露服务

使用nginx-ingress-controller暴露k8s内部服务,需要进行dns绑定,本地测试可以修改hosts进行测试

2612

ASP.NET MVC 6路由技术

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

1855
来自专栏林德熙的博客

WPF 读取硬件序列号

首先是安装 System.Management ,安装了这个库,在 dotnet framework 和 dotnet core 都可以使用本文的方法获取 PC...

411
来自专栏大内老A

谈谈基于OAuth 2.0的第三方认证 [中篇]

虽然我们在《上篇》分别讨论了4种预定义的Authorization Grant类型以及它们各自的适用场景的获取Access Token的方式,我想很多之前没有接...

1806
来自专栏k8s

K8S - 应用 - charts仓库

构建私有charts仓库很简单,只要有一个可以提供http/https的服务器即可,服务器需要提供index.yaml文件和打包好的charts文件

4344
来自专栏菩提树下的杨过

jenkins 入门教程(中)

接上回继续,本文以我托管在bitbucket上的一个开源项目spring-boot-rest-framework做为演示,讲解如何创建自动化部署。 一、创建it...

2556
来自专栏落影的专栏

CocoaPods移除和XCode子工程依赖图文教程

本文以GPUImage的工程为示例,去除管理依赖的CocoaPods,改用子工程依赖的方式。目的就是复用代码,多个工程可以使用同一份GPUImage的代码。 1...

3267

扫码关注云+社区