玩转ASP.NET 5:前言--准备--概述

1.前言

  • 1.1声明

遗憾前面的《ASP.NET vNext总结》系列篇没写完也不再续了。原因:一是这段时间备考压力很大,无暇顾及分享;二是觉得对vNext学习还不够深入,尽可能不误人子弟,就及时加密(密码:givecase)帖子;三是vNext技术,出于Beta阶段,技术细节还在不断变化。

强调一下:在这里和大家交流不是为了表现我多么地无私高尚,重要的是对我来说也是一个知识总结的过程。我也总是心中(呵呵,没付钱的支持,就算我虚伪吧!)感恩很多热心的园友,感谢他们的付出。不知道我心理是否健康?反正评论不希望得到不说原因的“反对”,唉!安慰自己,就当你手滑啦。

  • 1.2标题

本文的标题“玩转”二字肯定彪了,纯属标题党吸引眼球。想玩转ASP.NET 5,不是随心所欲的事,我还在“取经”路上,也许你比我更会玩它。无法长篇大论的文章怎能让人精通掌握?所以也希望你安慰自己说:哥,当作路过!

2.准备

  • 2.1VS2015安装

VS官方下载地址http://www.visualstudio.com(看了园友们帖子说,连下载地址都被坑过。其实微软的东东率先发布地址,先看原始英文页面。)

如果网速足够快,可以联网安装,当然还是建议下载ISO安装。VS2015 CTP5相对于Preview版,把众多跨平台移动开发安装包又集成了(又少一个联网安装的坑)。

温馨提示:基于VS2015工具开发还处于beta阶段(关注myget.org和githup.com几乎每天都有更新),生产环境建议不要使用,仅供尝鲜!

在hyper虚拟的win8.1系统(按照惯例VS正式版发布前会再出 RC版,实在不便在真实系统折腾了)下安装过程,勾选Web开发一个即可,如图:

Next漫长之旅开始了,不得不吐糟一下,耗时比安装操作系统还长。MS的决心和前瞻性太大了,刚刚发布的预览版win10来说,要统一电脑、平板和手机系统(三屏一云战略)。理想很美好,MS这么大的公司,智慧的人多、钱多,相信现实最终会完善起来。

VS开发工具也变化很大,这也许是趋势。可是MS总是先坑一下“时髦”追随者,windows平台的CoreCLR模块没分离好,就想着跨平台;windowsphone和windows app没整合好,也是想着集成Android及IOS开发。甚至插件工具也要集成一堆,如NPM技术应用……。为啥想要一嘴吃成胖子?先出个windows平台下 asp.net5开发的vs2015正式版就行了。呵呵,当然大家又会说变化太小,亮点不多。其实是MS卖钱点太少,不愿意出吗?好吧,MS No Zuo No Die!我们慢慢等吧。敢于折腾的仙人,就当消磨时间来跟着MS的节奏玩Beta没完没了。

一些MS大铁粉会说,谁让你傻呀!呵呵,工作压力大,自身技术要提升。就凭MS动不动整技术秀,让人口水、眼神、欲望……就算出于好奇心(这会害死猫的),很怕自己out了,甭管自己有没有学会真本事,起码做到会忽悠人,也得先了解一些啦。

好了,扯淡几句后,喝喝茶功夫。下面安装成功的界面(如安装环境不符合或过程失败,会有错误日志):

此时重起电脑,它完成一些配置和更新,就可以使用了。

  • 2.2项目模板

在玩ASP.NET 5前,先知道目前vNext有四种模板(据说CTP5也可以WPF模板,因为不关注,所以你自行去了解),如下图所示:

其中Web Application下有两个:

ASP.NET 5 Class Library:类库模板

ASP.NET 5 Console Application:控制台应用程序

ASP.NET 5 Empty:web应用程序,目录结构比较简洁

ASP.NET 5 Starter Web:web应用程序,模板较为完整(初学者建议用它先体验一下)

3.概述

  • 3.1mvc6

什么是MVC6?如图:

主要支持包括如下图:

HTML静态页在web项目都支持;Razor视图,在Web项目引用mvc就支持了;HTML Helpers通常是Razor的扩展方法,所以在Web项目里都支持。

MVC和WebAPI的看似区别不大(怎么说呢?别过于纠结!),其实WebAPI支持REST风格,也就是Action方法名可以用HTTP方法或HTTP方法前缀;两者的路由管道在MVC6中已经统一。

  • 3.2EntityFramework7

(本想这里不概述EF7,但因为用到它”老人家“的地方很方便)

它是一种ORM框架(另行查阅了解)。(注:以下部分支持还有待完善。)

EF7支持的应用平台:所有.NetFramework(包括原有的项目)、Windows Phone、Windows Store 、ASP.NET 5、Mac及Linux。

EF7支持的数据库:SQLServer(关系型数据库)、SQLLite(嵌入式数据库,一般APP项目使用)、Azure Table Storage(微软云表存储)、Redis(NoSQL非关系型数据库) 、In Memory(运行在内存中,模拟测试)。

就象VS2015当IDE界最强大一样,EF7也想做ORM领域最牛。值得微软粉丝期待啦!不管再强大不得了的玩意,大家还是认为被封装的框架相对直接用底层Provider肯定会牺牲性能的。这是事实,不抬杠。不管怎样,我们用一样的东西,尽量用它所长,避它所短。

  • 3.3项目结构

在讲下一章实例之前,先创建一个ASP.NET 5 Starter Web模板项目,介绍一下目录:

wwwroot:放静态文件,如:js,css,图片,html等。(也就是项目发布部署时的目录 )

Dependencies:依赖的意思,是NPM工具安装及管理下载包的逻辑文件夹(物理不存在此文件夹,你可以去实际文件目录下,看它组织情况)。

References:引用的意思,同样是逻辑文件夹。 也就是项目要用到的dll程序集引用。ASP.NET 5.0是完整的CLR支持的;Core 5.0是分离成模块的CLR支持。

Controllers:MVC的控制器

Migrations:是EF添加迁移配置后的文件夹

Models:模型文件夹

Views:MVC的视图文件夹

bower.json:bower工具配置

config.json:配置文件,相当于传统的web.config/app.config

gruntfile.js:Task Runner(grunt)工具配置

package.json:配置下载npm

project.json:主要References的配置

Startup.cs:程序运行时入口

注:以上说明只是大概 的情况,除了默认约定外,其它可以自行组织。

4.小结

本文概要的不详细,进一步了解地址:

http://www.asp.net/vnext(官方地址)

https://github.com/aspnet/home  (源码托管)

https://www.myget.org/F/aspnetrelease/(beta版暂时发布,正式可用的要去nuget.org找)

另外视频学习:

http://channel9.msdn.com/

http://www.microsoftvirtualacademy.com/(微软虚拟学院)

还有别的社区,可惜被伟大的墙堵了,或者收费。其实博客园也有很多大牛尝鲜ASP.NET5写了不少帖子,自行搜索!

便于志同道合的朋友一起交流,新开个QQ群:290576772(加时注明博客园)

时间: 2024-10-13 12:04:27

玩转ASP.NET 5:前言--准备--概述的相关文章

玩转ASP.NET 5:单元测试

1.前言 在讲<玩转ASP.NET 5:数据操作封装(二)>(草稿已经打样了,还在斟酌当中)之前,我想尝试部署ASP.NET5单元测试环境,很迷茫不知道用那个测试框架?虽然我现在不习惯,不擅长单元测试思维编程方式,但最近在摸索吧.这不,我得找一下ASP.NET5下测试框架.也就看到大名鼎鼎的Xunit框架支持VS2015 CTP5的情况. 本文也就参考http://xunit.github.io/docs/getting-started-aspnet.html 体会一下,算作个人防抄笔记吧!

7 天玩转 ASP.NET MVC — 第 7 天

目录 第 1 天 第 2 天 第 3 天 第 4 天 第 5 天 第 6 天 第 7 天 0. 前言 今天是开心的一天.因为我们终于来到了系列学习的最后一节.我相信你喜欢之前的课程,并从中学到了许多. 1. Lab 32 - 让项目有组织性 这个实验确切地讲无关任何新的功能.它只是使项目更有结构性和系统化. 第一步:创建解决方案文件夹 右击解决方案,然后选择 Add -> New Solution Folder. 将文件夹的名称改为「View And Controller」.现在重复这个步骤,创

7 天玩转 ASP.NET MVC — 第 1 天

0. 前言正如标题「7 天玩儿转 ASP.NET MVC」所言,这是个系列文章,所以将会向大家陆续推出 7 篇.设想一下,一天一篇,你将从一个愉快的周一开始阅读,然后在周末成为一个 ASP.NET MVC 开发者,这很酷吧! 7 天玩儿 转 ASP.NET MVC — 第 1 天 第一天是热身运动,这篇我们将围绕 Controller 和 Views 实践两个 Labs.在每个 Lab 之中都伴随着一些 Question 和 Answer.所以文章的主体框架是 Lab 和 Q&A. 7 天玩儿

7 天玩转 ASP.NET MVC — 第 2 天

0. 前言 我相信在开始第 2 天的学习时,你已经顺利地完成了第 1 天的课程. 我们回顾一下第 1 天的主要关注点: 为什么选择 ASP.NET MVC ? ASP.NET Webforms 和 ASP.NET MVC 的对比 理解 ASP.NET MVC 的 Controller 以及 Views 提醒:如果你还没有完成第 1 天的学习,最好先确保完成它.我们的目标是在最后一天用最佳实践和最新技术方法来创建一个小的 MVC 项目.每一天的 Lab 训练中,我们都会比之前一天增加一些实用性的功

玩转ASP.NET Core中的日志组件

玩转ASP.NET Core中的日志组件简介日志组件,作为程序员使用频率最高的组件,给程序员开发调试程序提供了必要的信息.ASP.NET Core中内置了一个通用日志接口ILogger,并实现了多种内置的日志提供器,例如 ConsoleDebugEventSourceEventLogTraceSourceAzure App Service除了内置的日志提供器,ASP.NET Core还支持了多种第三方日志工具,例如 elmah.ioGelfJSNLogKissLog.netLoggrNLogSe

玩转ASP.NET 5:数据库连接字符串配置及读取

1.连接字符串读取 1.1前言 本来我想在以后重构时,再来说这个问题.可是有园友问我:如何把数据库连接字符串写到Config.json并读取? 原来大家玩xml格式配置文件相当熟悉啦.可是ASP.NET 5项目换成越来越流行的JSON格式当配置文件.如果不去阅读源码,仅从Identity模板代码看,还是很迷糊. 1.2Config.json代码 在BlogASPNET5.ConsoleApp控制台项目(执行程序)中,添加Config.json文件,其代码: { "Data": { &q

ASP.NET 页生命周期概述

ASP.NET 页运行时,此页将经历一个生命周期,在生命周期中将执行一系列处理步骤.这些步骤包括初始化.实例化控件.还原和维护状态.运行事件处理程序代码以及进行呈现.了解页生命周期非常重要,因为这样做您就能在生命周期的合适阶段编写代码,以达到预期效果.此外,如果您要开发自定义控件,就必须熟悉页生命周期,以便正确进行控件初始化,使用视图状态数据填充控件属性以及运行任何控件行为代码.(控件的生命周期基于页的生命周期,但是页引发的控件事件比单独的 ASP.NET 页中可用的事件多.) 常规页生命周期阶

7 天玩转 ASP.NET MVC — 第 5 天

目录 第 1 天 第 2 天 第 3 天 第 4 天 第 5 天 第 6 天 第 7 天 0. 前言 欢迎来到第五天的学习.希望第一天到第四天的学习,你都是开心的. 1. Lab 22 - 增加 Footer 在这个实验中,我们将会向 Employee 页面添加 Footer.本次实验的目标是理解分部视图(Partial Views). 什么是「Partial Views」? 逻辑上讲,分部视图(Partial Views) 是一个可重用的视图,它不会被直接显示.它会被其它视图所包含,然后作为该

7 天玩转 ASP.NET MVC — 第 4 天

目录 第 1 天 第 2 天 第 3 天 第 4 天 第 5 天 第 6 天 第 7 天 0. 前言 欢迎来到第四天的 MVC 系列学习中.如果你直接开始学习今天的课程,我强烈建议你先完成之前的学习内容再来到这里. 1. Lab 15 - 认证错误的保留值 在 Lab 13 中,我们介绍了服务器端的认证,并且在 Lab 14 中,我们通过添加自定义认证的方式将其提示到一个新的层级. 我强烈建议你再回顾一下 Lab 14.再次执行应用,并且能够很好地理解代码以及输出. 在 Lab 15 中,我们将