学习ASP.NET 5和MVC6
今天很荣幸的参加了微软开源跨平台讲座,充分认识了下一个版本的ASP.NET所带来的激动人心的特性。虽然过去已经断断续续的了解了一些ASP.NET5和MVC6与EF7的动态,但是都没有这一次来的系统化(也许是在东道主上课感觉良好吧^v^),这次较为系统的学习并亲身实践了这些新东西,在过程中也遇到了一些问题,幸好有,每小时1260元的MVP亲身之道。
总体来说变化是挺大的,但是有两条铁律就是:
跨平台,同时运行于MAC、LIUNX和WINDOWS
组件化一切都可以NUGET到。
有了以上的原则理解这一系列的变化就不足为奇了。在这之前需要认真阅读DOCS.ASP.NET中的内容,E文差的同学免进,了解GITHUB.com/aspnet中的代码,由于现在微软也使用了敏捷开发(估计是找不到人了),所以写文档的工作就没有了,原来最牛B的东西也就没有了(估计以后企业支持服务价格会增高哦),软件真的变成服务了(该兴奋还是该难过?)。
在读完文档和代码后下面的文章就不需要在看了,哈哈!
首先要了解的是DNVM、DNU、DNX。可以先从最简单的开始:(如果您的电脑不能上网,就趁早洗洗睡了吧。)
@powershell -NoProfile -ExecutionPolicy unrestricted -Command "&{$Branch='dev';iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/aspnet/Home/dev/dnvminstall.ps1'))}"
dnvm upgrade -r coreclr
dnvm upgrade -r clr
拉出VS溜溜,建个MVC的工程,这里要说一下,以后就再也没有神马WEBFORM了,他已经光荣退休了。
CD 工作目录
DNU restore
DNX WEB
就可以跑起来了。
回过头来看看这个ASP.NET MVC的工程,我擦,没有几个文件认识,变化可真大啊,咋回事呢这是要疯啊。又被微软坑了有不有。
其实不用这么虐心,还是回到刚开始说的,他的一切变化都是为了一件事跨平台,去掉windows的影子,神马config,dll,什么隐藏文件工程文件神马的统统一边玩去,现在就欢迎一下大众脸,比如.json,.txt类的大家都能沟通的文件,那些被包养的幸福日子一去不复返了有木有。
还有一个让要剁手的动作,就是以后再也别改个文件就右键生成解决方案啦,因为以后都是Ronsley这个牛掰大哥在内存里动态编译了,感觉又回到了小时候asp的时代,真是太美好了,改一个文件就扔到服务器上,下次访问就自动变了,绕了一大圈又回来了呢。
那麽原来的些复杂的web.config里的配置咋整呢,总不能没了吧。这个也不全是,原来一会儿写在<web.module>里一会儿写在<web.service.module>里的那些modules现在别搞成了一种叫Middleware的管道,每次都要调用下一个的next,如果忘了调就死了。其他的配置项都放到代码里去实现了,也就是说默认文档啊那些配置节点全都写成代码的形式了,还是那句话,跨平台不能老想着你们家IIS。
吐槽结束,继续前行,我们刚刚创建了一个空的asp.net 工程,运行后发现不管我往wwwroot里放神马都是现实一个hello world,呵呵,真是反扑归真吗,我保证你从webform到这里来的话感觉地球上的生活真是糟糕,原因是因为他啥都没给你做,就连处理静态文件也要自己在start.config中加.
好吧简单一点,直接在nuget里输入Install-Package Microsoft.AspNet.Mvc –Pre安装最新的asp.net mvc预览版,然后再新型一次dnu restore。
学习ASP.NET 5和MVC6的更多相关文章
- 学习ASP.NET Core,你必须了解无处不在的“依赖注入”
ASP.NET Core的核心是通过一个Server和若干注册的Middleware构成的管道,不论是管道自身的构建,还是Server和Middleware自身的实现,以及构建在这个管道的应用,都需要 ...
- 学习asp.net比较完整的流程[转]
如果你已经有较多的面向对象开发经验,跳过以下这两步: 第一步 掌握一门.NET面向对象语言,C#或VB.NET 我强烈反对在没系统学过一门面向对象(OO)语言的前提下去学ASP.NET. ASP.NE ...
- 学习ASP.NET MVC(九)——“Code First Migrations ”工具使用示例
在上一篇文章中,我们学习了如何使用实体框架的“Code First Migrations ”工具,使用其中的“迁移”功能对模型类进行一些修改,同时同步更新对应数据库的表结构. 在本文章中,我们将使用“ ...
- 学习ASP.NET MVC(七)——我的第一个ASP.NET MVC 查询页面
在本篇文章中,我将添加一个新的查询页面(SearchIndex),可以按书籍的种类或名称来进行查询.这个新页面的网址是http://localhost:36878/Book/ SearchIndex. ...
- 学习ASP.NET MVC(一)——我的第一个ASP.NET MVC应用程序
学习ASP.NET MVC系列: 学习ASP.NET MVC(一)——我的第一个ASP.NET MVC应用程序 学习ASP.NET MVC(二)——我的第一个ASP.NET MVC 控制器 学习ASP ...
- (转) 一步一步学习ASP.NET 5 (四)- ASP.NET MVC 6四大特性
转发:微软MVP 卢建晖 的文章,希望对大家有帮助.原文:http://blog.csdn.net/kinfey/article/details/44459625 编者语 : 昨晚写好的文章居然csd ...
- (转) 一步一步学习ASP.NET 5 (二)- 通过命令行和sublime创建项目
转发:微软MVP 卢建晖 的文章,希望对大家有帮助. 注:昨天转发之后很多朋友指出了vNext的命名问题,原文作者已经做出了修改,后面的标题都适用 asp.net 5这个名称. 编者语 : 昨天发了第 ...
- 一步步学习ASP.NET MVC3 章节总结
请注明转载地址:http://www.cnblogs.com/arhat 对于<一步步学习ASP.NET MVC3>系列工15章,那么为了方便大家能够快速的预览,老魏在这里为这个系列提供一 ...
- 一步步学习ASP.NET MVC3 (1)——基础知识
请注明转载地址:http://www.cnblogs.com/arhat 首先在这里我想声明一下,这个ASP.NET MVC3系列是我在授课过程中的一些经验,有什么不对的地方,请大家指出,我们共同的学 ...
随机推荐
- 【无私分享:ASP.NET CORE 项目实战(第六章)】读取配置文件(一) appsettings.json
目录索引 [无私分享:ASP.NET CORE 项目实战]目录索引 简介 在我们之前的Asp.net mvc 开发中,一提到配置文件,我们不由的想到 web.config 和 app.config,在 ...
- JAVA使用JDBC技术操作SqlServer数据库
JDBC(JavaData Base Connectivity,Java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组 ...
- SSM三大框架整合详细教程(Spring+SpringMVC+MyBatis)【转】
使用SSM(Spring.SpringMVC和Mybatis)已经有三个多月了,项目在技术上已经没有什么难点了,基于现有的技术就可以实现想要的功能,当然肯定有很多可以改进的地方.之前没有记录SSM整合 ...
- node使用xml-writer生成本地XML文件实例
npm中xml-writer文档的链接地址:https://www.npmjs.com/package/xml-writer npm中的文档比较简单,而且生成本地xml文件的demo并不正确.本篇是对 ...
- jquery 点击查看更多箭头变化,文字变化,超出带滚动条。
从网上好了好久,没找到自己要的,自己写了一下. <!DOCTYPE html> <html> <head> <meta charset="utf-8 ...
- 移动端报表JS开发示例
最近对移动端的报表开发颇有研究,细磨精算了好久,虽然到现在还是“囊中羞涩”,但决定还是先抛砖引玉,拿点小干货出来和大家分享. 研究的工具是比较有代表性的FineReport. 1. 移动端哪些地方支 ...
- ASP.NET Button、ImageButton、LinkButton、HyperLink区别
这4个控件都属于WEB服务器控件,有很多相同的属性和事件.其区别如下所示. 在*.aspx页面中插入Button控件如以下代码所示.<asp:Button runat="server& ...
- [译]Angular2 和TypeScript -- 一次简要的预览
原文链接:https://www.infoq.com/articles/Angular2-TypeScript-High-Level-Overview 作者: Yakov Fain Posted o ...
- [Hadoop in Action] 第2章 初识Hadoop
Hadoop的结构组成 安装Hadoop及其3种工作模式:单机.伪分布和全分布 用于监控Hadoop安装的Web工具 1.Hadoop的构造模块 (1)NameNode(名字节点) ...
- log4j:ERROR Failed to rename [/log/xxx.log] to [/log/xxx.log.2016-11-23.log]
Log4j报错: log4j:ERROR Failed to rename [/log/xxx.log] to [/log/xxx.log.2016-11-23.log] google了一下发现是个b ...