(转) 一步一步学习ASP.NET 5 (四)- ASP.NET MVC 6四大特性
转发:微软MVP 卢建晖 的文章,希望对大家有帮助。原文:http://blog.csdn.net/kinfey/article/details/44459625
编者语 : 昨晚写好的文章居然csdn不审核,这个也难怪人,但自己比较忙没办法。分享继续,今天谈ASP.NET MVC 6.
我蛮喜欢Ruby On Rails 这种约定胜于配置的框架,在.NET 有ASP.NET MVC 和Java有Play! Framework . ASP.NET MVC 版本基本上每年一更新,从不让你失望。我们现在来看看ASP.NET MVC 6的变化,上一篇已经把基本的配置和改变说了(一步一步学习ASP.NET 5 (三)- 认识新的Web结构),今天看看MVC 6的几个特性。
1. 统一的MVC和WebAPI Controller
在过去版本中,你需要定义WebAPI时必须继承自基于System.Web.Http.ApiController ,而如果是一般的页面Controller就需要继承自 System.Web.MVC.Controller 。而在新的ASP.NET MVC 6中,微软统一了MVC和WebAPI,他们都继承自Microsoft.AspNet.Mvc.Controller。
ASP.NET MVC 6 Controller中,每个Action返回的都是一个IActionResult的接口,它会依据情况去返回页面还是数据。在MVC 6中特别的地方是WebAPI和页面Controller可以使用相同的路由规则。你也可以通过公共方法或者通过属性标签去设定路由规则。
2. Tag Helper (https://github.com/DamianEdwards/TagHelperStarterWeb)
开发ASP.NET MVC你会对那些神奇的Tag helper有深刻印象。下面这段代码很熟悉吧
虽然方便不过大大破坏了html的可读性。新的版本,有了更佳的可读性,更贴近html.
3. View Commpents
这是全新的子视图,取代了原有的SubController。(这个功能个人比较少用),我i的理解是更好地利用好页面部件。他能真正做到局部响应。(大家可以参考这里 : http://www.asp.net/vnext/overview/aspnet-vnext/vc)
4.依赖注入
ASP.NET 5 已经带了依赖注入,你不需要再使用第三方的IoC方式了(话需如此,你也可以通过第三方的方式去完成不过现阶段都很麻烦)。依赖注入基于Microsoft.Framework.DependencyInjection 。你需要在Startup.cs中的ConfigureServices方法中配置。
ASP.NET MVC 6 在原有的基础上改进了功能,优化了前端页面Razor的结构,对于开发和维护更方便快捷。个人就比较喜欢统一了WebAPI 和普通页面Controller,和添加了依赖注入的功能。你呢?
补充一句,由于工作较忙,文章会在周日继续,希望大家会想我
转载于:https://www.cnblogs.com/ups216/p/4354450.html
(转) 一步一步学习ASP.NET 5 (四)- ASP.NET MVC 6四大特性相关推荐
- 一步一步学习ASP.NET MVC 1.0创建NerdDinner 范例程序 - 强烈推荐!!!
一步一步学习ASP.NET MVC 1.0创建NerdDinner 范例程序 本文根据<Professional ASP.NET MVC 1.0>中微软牛人Scott Guthrie 提供 ...
- 一步一步学习SignalR进行实时通信_6_案例
原文:一步一步学习SignalR进行实时通信_6_案例一步一步学习SignalR进行实时通信\_6_案例1 一步一步学习SignalR进行实时通信_6_案例1 前言 类的定义 各块功能 后台 上线 下 ...
- (转)一步一步Asp.Net MVC系列_权限管理设计起始篇
原文地址:http://www.cnblogs.com/mysweet/archive/2012/07/26/2610793.html 前一段时间,写了一步一步asp.net的一系列博客,最近,也快要 ...
- 一步一步创建ASP.NET MVC5程序[Repository+Autofac+Automapper+SqlSugar](五)
前言 Hi,大家好,我是Rector 时间飞逝,一个星期又过去了,今天还是星期五,Rector在图享网继续跟大家分享系列文本:一步一步创建ASP.NET MVC5程序[Repository+Autof ...
- 一步一步学习SignalR进行实时通信_5_Hub
目录 一步一步学习SignalR进行实时通信_5_Hub 前言 Hub命名规则 Hub封装好的常用方法 Hub常用方法解释 保持状态 前后台交互 结束语 参考文献 一步一步学习SignalR进行实时通 ...
- (转)一步一步Asp.Net MVC系列_权限管理之权限控制
原文地址:http://www.cnblogs.com/mysweet/archive/2012/08/05/2623687.html 在权限管理中一个很重要的就是关于权限的拦截验证问题,特别是我们在 ...
- 一步一步创建ASP.NET MVC5程序[Repository+Autofac+Automapper+SqlSugar](四)
前言 上一篇<一步一步创建ASP.NET MVC5程序[Repository+Autofac+Automapper+SqlSugar](三)>,我们完成了: * 引用SqlSugar * ...
- 【深度学习基础】一步一步讲解卷积神经网络
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送 本文转自:一步一步讲解卷积神经网络 卷积神经网络(Convoluti ...
- 通过脚本案例学习shell(五) 通过创建DNS脚本一步一步教你将一个普通脚本规范到一个生产环境脚本...
通过脚本案例学习shell(五) 通过创建DNS脚本一步一步教你将一个普通脚本规范到一个生产环境脚本 版权声明: 本文遵循"署名非商业性使用相同方式共享 2.5 中国大陆"协议 ...
最新文章
- 发布在《30天自制操作系统》之前的帮助阅读贴
- 基于STC8G1K08的实验电路板
- n1Linux分辨率,看看诺基亚曾经的六款平板电脑 N1不是第一
- android的消息处理机制(图+源码分析)——Looper,Handler,Message
- RedHat Enterprise Linux6.4 使用CentOS yum
- 利用文件摘要简化游戏资源的引用管理
- IDEA设置谷歌浏览器和火狐浏览器打开
- 【AGC035C】Skolem XOR Tree【异或】【构造】
- 洛谷P3628 [APIO2010]特别行动队(斜率优化)
- Windows7右键菜单栏添加打开cmd项
- snmp 获得硬件信息_信息系统项目管理师(三)
- Linux下如何设置和查看环境变量
- 2011系统架构师大会分享-自动化运维中的关系管理
- vue-cli禁用eslint的方式
- python十大实例_Python练习实例100例(从简入难)96-100
- php服务器端注释,php标识和注释
- 使用Redis的有序集合实现排行榜功能
- Linux上运行Python文件
- R语言二进制grd文件读取合并导出
- 人脸识别闸机系统解决方案
热门文章
- python中if有几种使用方式_python 中if-else的多种简洁的写法
- 动手学servlet(四) cookie和session
- SDOI2014 旅行
- React 在body上绑定事件以及阻止事件冒泡
- 状态目标bfs+哈希表 + 三杯水
- liunx系统不能登陆的问题
- springboot忽略证书_SpringBoot获取resource下证书失败
- springboot mybatis 热加载mapper.xml文件(最简单)
- mac 查看端口并终结
- 支付宝错误提示: sign check fail: check Sign and Data Fail JSON also