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

原文作者:Pramod Gawande 原文地址:https://dzone.com/articles/aspnet-mvc-6-routing-techniques?fromrel=true

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

正如我们所知,路由动作正在通过Routes.MapRoute方法进行管理。在ASP.NET MVC 6 Routes.MapRoute中,你不会找到这个方法作为Startup.cs文件的一部分,它现在只包含很少的代码行。您还会注意到没有专门的配置文件来处理RouteConfig.cs,WebApiConfig.cs或其他中间处理程序,这些中间处理程序是早期的ASP.NET版本和MVC模式项目模板附带的。 Startup.cs文件具有services.AddMvc()和services.UseMvc()方法来处理路由操作。

我们可以看看应用程序代码中UseMvc()方法的当前实现。

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

基于属性的路由

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

基于约定的路由

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏hbbliyong

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

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

37010
来自专栏大内老A

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

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

1787
来自专栏MelonTeam专栏

Android资源热修复之修改aapt源码

导语 在Windows下定制自己的aapt! 一、环境配置 1.1 软件和源码 Codeblocks下载地址:< mingw64下载地址:<ht...

2925
来自专栏一棹烟波

文件操作常用函数

文件重命名: rename(inFilePath.c_str(), outFilePath.c_str()) 文件移动(剪切): MoveFileA(inFil...

3585

ASP.NET MVC 6路由技术

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

2385
来自专栏张善友的专栏

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

.NET Core with Visual Studio Code 目录 概述... 2 先决条件... 2 练习1: 安装和配置.NET Core以及Visu...

2509
来自专栏张善友的专栏

Debian 和Ubuntu Mono 3.0 部署包

Mono 3.0 刚发布,Debian 的Mono打包工作也开始了, 这篇博客《Mono 3.0 Preview Packages for Debian and...

2077
来自专栏云计算

ASP.NET MVC 6路由技术

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

1746
来自专栏IT杂记

Zookeeper笔记二:Watches

Watch event只触发一次; Watch event是由服务端发送给客户端的(异步发送),并且提供一顺序保证:即当为某个数据的改变设置了Watch,客户端...

19910
来自专栏张善友的专栏

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

2229

扫码关注云+社区