学习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系列是我在授课过程中的一些经验,有什么不对的地方,请大家指出,我们共同的学 ...
随机推荐
- 如何实现一个php框架系列文章【2】实现类的自动加载
根据前一篇文章的设计原则,我们暂时把php文件分为3类,类名和文件名都遵守如下约定. 类名 文件名 路径 模型类m {$app}Mod {$app}.mod.php {$app}/model ...
- Eclipse搭建Maven Prooject(终于)
今天我们一起来探讨eclipse搭建maven项目的步骤 一.建一个maven项目, 1.找到File ,点击 2.弹出窗口,再点击new 3.弹出窗口,点击other 4.输入maven,找到mav ...
- session 存入数据库 php
session 机制 1.php中session的生成机制 session是保存在服务器的,当我们在代码中调用session_start();时,PHP会同时往SESSION的存放目录(默认为/tm ...
- 使用jquery.qrcode生成二维码(转)
jQuery 的 qrcode 插件就可以在浏览器端生成二维码图片. 这个插件的使用非常简单: 1.首先在页面中加入jquery库文件和qrcode插件. <script type=" ...
- Canvas——使用定时器模拟动态加载动画!
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- 使用rsync同步目录
本文描述了linux下使用rsync单向同步两个机器目录的问题. 使用rsync同步后可以保持目录的一致性(含删除操作). 数据同步方式 从主机拉数据 备机上启动的流程 同步命令: rsync -av ...
- 1-3 - C#语言习惯 - 推荐使用查询语法而不是循环
C#语言中并不缺少控制程序流程的结构,for.while.do-while和foreach等都可以做到这点. 历史上所有计算机语言设计者都不曾遗漏这些重要的循环控制结构. 不过我们还有一个更好的方式: ...
- SQL Server 2008 R2:快速清除日志文件的方法
本例,快速清理“students”数据库的日志,清理后日志文件不足1M. USE [master] GO ALTER DATABASE students SET RECOVERY SIMPLE WIT ...
- 常见的高可用MySQL解决方案
MySQL数据库作为最基础的数据存储服务之一,在整个系统中有着非常重要的地位,因此要求其具备高可用性是无可厚非的.有很多解决方案能实现不同的SLA(服务水平协定),这些方案可以保证数据库服务器在硬件或 ...
- 3.awk数组详解及企业实战案例
awk数组详解及企业实战案例 3.打印数组: [root@nfs-server test]# awk 'BEGIN{array[1]="zhurui";array[2]=" ...