(转) 一步一步学习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,和添加了依赖注入的功能。你呢?
补充一句,由于工作较忙,文章会在周日继续,希望大家会想我
(转) 一步一步学习ASP.NET 5 (四)- ASP.NET MVC 6四大特性的更多相关文章
- (转) 一步一步学习ASP.NET 5 (二)- 通过命令行和sublime创建项目
转发:微软MVP 卢建晖 的文章,希望对大家有帮助. 注:昨天转发之后很多朋友指出了vNext的命名问题,原文作者已经做出了修改,后面的标题都适用 asp.net 5这个名称. 编者语 : 昨天发了第 ...
- 3、带你一步一步学习ASP.NET Core中的配置之Configuration
如果你是刚接触ASP.NET Core的学习的话,你会注意到:在ASP.NET Core项目中,看不到.NET Fraemwork时代中的web.config文件和app.config文件了.那么你肯 ...
- .NET跨平台:在Mac上跟着错误信息一步一步手写ASP.NET 5程序
今天坐高铁时尝试了一种学习ASP.NET 5的笨方法,从空文件夹开始,根据运行dnx . kestrel命令的错误信息,一步一步写代码,直至将一个最简单的ASP.NET程序运行起来. 尝试的具体步骤如 ...
- 一步一步学习SignalR进行实时通信_1_简单介绍
一步一步学习SignalR进行实时通信\_1_简单介绍 SignalR 一步一步学习SignalR进行实时通信_1_简单介绍 前言 SignalR介绍 支持的平台 相关说明 OWIN 结束语 参考文献 ...
- 一步一步学习SignalR进行实时通信_8_案例2
原文:一步一步学习SignalR进行实时通信_8_案例2 一步一步学习SignalR进行实时通信\_8_案例2 SignalR 一步一步学习SignalR进行实时通信_8_案例2 前言 配置Hub 建 ...
- 一步一步学习SignalR进行实时通信_9_托管在非Web应用程序
原文:一步一步学习SignalR进行实时通信_9_托管在非Web应用程序 一步一步学习SignalR进行实时通信\_9_托管在非Web应用程序 一步一步学习SignalR进行实时通信_9_托管在非We ...
- 一步一步学习SignalR进行实时通信_7_非代理
原文:一步一步学习SignalR进行实时通信_7_非代理 一步一步学习SignalR进行实时通信\_7_非代理 SignalR 一步一步学习SignalR进行实时通信_7_非代理 前言 代理与非代理 ...
- ASP.NET MVC 3 Model【通过一简单实例一步一步的介绍】
今天主要讲Model的两个方面: 1. ASP.Net MVC 3 Model 简介 通过一简单的事例一步一步的介绍 2. ASP.Net MVC 3 Model 的一些验证 MVC 中 Model ...
- 一步一步学习SignalR进行实时通信_5_Hub
原文:一步一步学习SignalR进行实时通信_5_Hub 一步一步学习SignalR进行实时通信\_5_Hub SignalR 一步一步学习SignalR进行实时通信_5_Hub 前言 Hub命名规则 ...
随机推荐
- exception throw in progress runner thread_VS2015中SVN源代码无说明提交异常
1-问题描述:通过SVN将代码变更提交服务器时,你可能会遇到以下异常: exception throw in progress runner thread 2-解决办法: SVN代码源代码管理和TF ...
- Bootstrap学习笔记系列3-------Bootstrap简单表单显示
表单布局 垂直或基本表单 基本的表单结构时BootStrap自带的,创建基本表单的步骤如下: 向父<form>元素添加role = "form": 为了获取最佳的间距, ...
- 介绍开源的.net通信框架NetworkComms框架 源码分析(十四)StreamTools
原文网址: http://www.cnblogs.com/csdev Networkcomms 是一款C# 语言编写的TCP/UDP通信框架 作者是英国人 以前是收费的 目前作者已经开源 许可是 ...
- WPS添加页码不是从首页开始
A.页码从第二页开始 "插入"--"页码"--"格式"--不选"续前页"--"起始页码"设为0 &q ...
- Using Stored Programs with MySQLdb
http://flylib.com/books/en/1.142.1.125/1/ Using Stored Programs with MySQLdb The techniques for call ...
- PHP 导出Excel 文档
下面是总结的几个使用方法 include 'PHPExcel.php'; include 'PHPExcel/Writer/Excel2007.php'; //或者include 'PHPExcel/ ...
- Fiddler (二) Script 用法
通过前一篇博客 [Fiddler教程], 我们了解了Fiddler的基本用法, 现在我们来看看Fiddler的高级用法. Fiddler Script. Fiddler中的script 可以 ...
- 商业银行在CNAPS体系中对各种交易的处理
简单来讲,商业银行在CNAPS体系中, 一)行内的交易 由各个银行的行内业务系统来自行解决信息流和资金流问题: 二)跨行的交易分渠道处理 柜台和网银等渠道,商业银行直接直连央行的大小额以及超级网银来解 ...
- GJM :用JIRA管理你的项目(三)基于LDAP用户管理 [转载]
感谢您的阅读.喜欢的.有用的就请大哥大嫂们高抬贵手"推荐一下"吧!你的精神支持是博主强大的写作动力以及转载收藏动力.欢迎转载! 版权声明:本文原创发表于 [请点击连接前往] ,未经 ...
- js的动态加载、缓存、更新以及复用(四)
本来想一气呵成,把加载的过程都写了,但是卡着呢,所以只好在分成两份了. 1.页面里使用<script>来加载 boot.js . 2.然后在boot.js里面动态加载 bootLoad.j ...