转发:微软MVP 卢建晖 的文章,希望对大家有帮助。原文:http://blog.csdn.net/kinfey/article/details/44421979


编者语 : 今天微软的两大盛事,早上有久违的Microsoft HEC 2015 晚上有DotnetConf 2015,假若你做微软的技术怎么可以错过呢?说说我的连载吧,前两篇分别介绍了ASP.NET 5的环境配置和在轻量级的Sublime Text上完成开发工作。今天开始聊聊ASP.NET 5的基本结构。话说我把我的工作平台暂时迁移到Surface Pro 3上应下节。

说起ASP.NET , 本人从1.0 beta开始到现在5.0过来(暴露了年龄),有两件事是特别的兴奋,第一是从WebForm过渡到MVC,第二件事情就是ASP.NET 5.0。这两次转变微软都是采纳了不少新的理念和实现方式。例如ASP.NET MVC就从当年最流行的Ruby on Rails 转变而来。而现在ASP.NET 5.0就参考了不少NodeJS的优点。微软在这方面也是跟得比较时尚的。下面就开始说说ASP.NET 5的Web的基本结构 (如下图)

  

       0.  没错还是MVC - 不懂就去官网入门吧

 

       1.  新的配置方式

看看上图的项目你发现Web.Config或者其他文件夹上的以Config为后序的文件不见了(之前总觉得读/写这种XML是一件痛苦的事情)。真心话,做技术当然不是一段婚姻,你需要喜新厌旧。那新的ASP.NET 5的配置文件去哪里了,变得怎么样了?肯定是简单了,更容易以自己喜欢的方式去定制不同的配置文件(XML,JSON,INI都可以)。在ASP.NET 5中主要通过Startup.cs取代Web.config去完成初始化配置工作。例如项目中包和包的依赖关系,更可以升级包的版本,启动页面等。而这种配置都是从IConfiguration开始。如果你希望了解更多可以访问https://github.com/aspnet/Configuration .

2. Project.json 

这个是配置你的项目所要的包,编译设置,资源文件的主要文件。他通过JSON文件设置。有几个比较关系的字段

Dependencies :设置你项目中所需要的包,当你使用kpm rebuild时会依据这个去加载你的包,如果你的包的版本更新也可以通过这里进行设置。如下图这里设置了一个新项目所需要到的基础包(JSON总比XML易读易理解)

Framework : 针对aspnet50和aspnetcore50进行所需要的包进行设置。

Command : 设置运行K(DN)后面的参数,例如设置web / kestrel 的启动服务和端口,单元测试,或者entity framework的支持等。

需要了解更多请到这里 https://github.com/aspnet/Home/wiki/Project.json-file

 3.  Config.json

配置数据库连接和你对应的ORM引擎,这里默认是Entity Framework 7。我更希望有更多的ORM引擎加进来。

4.  前端配置npm/bower/grunt

你的项目需要引入JS库/Bootstrap等,以往需要在项目中一个个下载,为了更节省时间npm+bower就可以帮你找了。而grunt更方便帮你部署项目时整理/压缩你的JS,规范你的JS代码。 这里更像NodeJS,或者说是模仿。

你现在应该基本了解一个ASP.NET 5项目的结构了,明天继续。还是那句多多交流!

(转) 一步一步学习ASP.NET 5 (三)- 认识新的Web结构的更多相关文章

  1. 一步一步学习ASP.NET 5 (三)- 认识新的Web结构

    编者语 : 今天微软的两大盛事,早上有久违的Microsoft HEC 2015 晚上有DotnetConf 2015.假若你做微软的技术怎么能够错过呢?说说我的连载吧,前两篇分别介绍了ASP.NET ...

  2. 学习ASP.NET MVC(三)——我的第一个ASP.NET MVC 视图

    今天我将对前一篇文章中的示例进行修改,前一篇文章中并没有用到视图,这次将用到视图.对于前一个示例中的HelloWorldController类进行修改,使用视图模板文件生成HTML响应给浏览器. 一. ...

  3. (转) 一步一步学习ASP.NET 5 (四)- ASP.NET MVC 6四大特性

    转发:微软MVP 卢建晖 的文章,希望对大家有帮助.原文:http://blog.csdn.net/kinfey/article/details/44459625 编者语 : 昨晚写好的文章居然csd ...

  4. 学习asp.net比较完整的流程[转]

    如果你已经有较多的面向对象开发经验,跳过以下这两步: 第一步 掌握一门.NET面向对象语言,C#或VB.NET 我强烈反对在没系统学过一门面向对象(OO)语言的前提下去学ASP.NET. ASP.NE ...

  5. 学习ASP.NET MVC(七)——我的第一个ASP.NET MVC 查询页面

    在本篇文章中,我将添加一个新的查询页面(SearchIndex),可以按书籍的种类或名称来进行查询.这个新页面的网址是http://localhost:36878/Book/ SearchIndex. ...

  6. 学习ASP.NET MVC(一)——我的第一个ASP.NET MVC应用程序

    学习ASP.NET MVC系列: 学习ASP.NET MVC(一)——我的第一个ASP.NET MVC应用程序 学习ASP.NET MVC(二)——我的第一个ASP.NET MVC 控制器 学习ASP ...

  7. 学习asp.net比较完整的流程

    如果你已经有较多的面向对象开发经验,跳过以下这两步: 第一步 掌握一门.NET面向对象语言,C#或VB.NET 我强烈反对在没系统学过一门面向对象(OO)语言的前提下去学ASP.NET. ASP.NE ...

  8. 学习asp.net的流程

    如果你已经有较多的面向对象开发经验,跳过以下这两步: 第一步 掌握一门.NET面向对象语言,C#或VB.NET 我强烈反对在没系统学过一门面向对象(OO)语言的前提下去学ASP.NET. ASP.NE ...

  9. [转] - 学习ASP.NET比较完整的流程!

    如果你已经有较多的面向对象开发经验,跳过以下这两步:  第一步 掌握一门.NET面向对象语言,C#或VB.NET 我强烈反对在没系统学过一门面向对象(OO)语言的前提下去学ASP.NET. ASP.N ...

随机推荐

  1. 只用CSS实现容器内图片上下左右居中

    一直以来,大家都知道,DIV容器内设置 text-align:center 即可让图片居中,但是DIV内默认的图片是上对齐,不会上下居中,如果想要实现这样的效果,JS判断是比较麻烦的,因为DIV容器内 ...

  2. C#系统缓存全解析(转载)

    C#系统缓存全解析 对各种缓存的应用场景和方法做了很详尽的解读,这里推荐一下 转载地址:http://blog.csdn.net/wyxhd2008/article/details/8076105

  3. android布局属性详解

    RelativeLayout用到的一些重要的属性: 第一类:属性值为true或false android:layout_centerHrizontal  水平居中 android:layout_cen ...

  4. ASP.NET页面事件:顺序与回传详解

    当页面被提交请求第一个方法永远是构造函数.您可以在构造函数里面初始一些自定义属性或对象,不过这时候因为页面还没有被完全初始化所以多少会有些限制.特别地,您需要使用HttpContext对象.当前可以使 ...

  5. 基于吉日嘎拉的通用权限管理WebForm版扩展:字典选项管理和缓存管理

    关于字典管理,其实就是2个表,一个表记录字典和对应表,另一个表记录字典内容.我这里改名为字典选项,其实是一个意思.直接上图: 这里的字典选项是分子系统的,每个子系统可以有自己的单独字典,方便管理.但是 ...

  6. a标签中调用js方法

    1. a href="javascript:void(0);" onclick="js_method()" 这种方法是很多网站最常用的方法,也是最周全的方法,o ...

  7. Calling startActivity() from outside of an Activity

    在Activity中使用startActivity()方法不会有任何限制,因为Activity重载了Context的startActivity()方法.但是如果是在其他地方(如Widget或Servi ...

  8. 对状态空间图搜索的几种算法比较(图)【深度、宽度、动态规划(均一代价)、最佳优先和A*算法】

    ---------------------------------------------------------------------------------------------------- ...

  9. 用 Inkspace 做 SVG 给 TPath

    FireMonkey 里的 TPathData 支持 SVG 的基本绘图指令,因此可以运用 Inkspace 软件,提取 SVG 的绘图内容,请见图片说明:

  10. Oracle数据库,查询语句、内置函数

    一.数据库的查询语句: 1.查询整个表: select * from 表名 例: 2.通过条件查询某一行数据: select * from 表名 where 字段名 例: 3.某一列数据去重查询: s ...