转发:微软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. 如何Windows分页控件中增加统计功能

    在我的博客里面,很多Winform程序里面都用到了分页处理,这样可以不管是在直接访问数据库的场景还是使用网络方式访问WCF服务获取数据,都能获得较好的效率,因此WInform程序里面的分页控件的使用是 ...

  2. QQ--模拟发表带图说说

    发表说说之前,必须登录. 模拟QQ登录 >> http://www.cnblogs.com/deeround/p/4386629.html 发表带图说说,自然少不了上传图片,我这使用的PC ...

  3. iOS阶段学习第18天笔记(Plist-Archiver-归档与解归档操作)

    iOS学习(OC语言)知识点整理 一.归档与解归档的操作 1)归档是一个过程,将一个或多个对象存储起来,以便以后可以还原,包括将对象存入文件,以后再读取 将数据对象归档成plist文件 2)plist ...

  4. mysql中变量赋值

    http://www.cnblogs.com/qixuejia/archive/2010/12/21/1913203.html sql server中变量要先申明后赋值: 局部变量用一个@标识,全局变 ...

  5. genymotion和eclipse连接问题,一直出错

    前两天重装系统,但是在运行android代码的时候遇到了这样的问题 The connection to adb is down,and a server error has occured. You ...

  6. VirtualBox-Linux系统安装增强功能

    我们在安装之前,必须得先安装好它所需要的依赖包,不然安装过程必定会出现错误! 一.安装依赖包 #yum install kernel-headers #yum install kernel-devel ...

  7. 剖析信用卡 DCC 交易

    摘要: 所谓DCC交易(Dynamic Currency Conversion,直译:动态货币转换 ),或者叫CPC交易(Cardholder Preferred Currency,直译:持卡人选定货 ...

  8. java枚举与.net中的枚举区别

    通过一段时间的项目实践,发现java中的枚举与.net中的枚举有很大的差别,初期造成了我对java中的枚举一些错误理解及部分有缺陷的应用,其实追其原因还是因为我会习惯性的认为java的枚举在作用以及定 ...

  9. Linux修改SSH端口,并禁止Root远程登陆

    1.更改ssh远程登录端口: #vi /etc/ssh/ssh_config将port改为你想要的端口,例如8888.默认是#port 22,把#号删掉改为 port 8888即可. 还要更改以下文件 ...

  10. 静态代码审查工具FxCop插件开发(c#)

    FxCop是一款微软官方提供的.net平台代码审查工具,目的是检查我们编写的程序集的代码是否符合规范.FxCop默认提供的是微软默认的审查规则,而且该规则符合<Framework DesignG ...