转发:微软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项目的结构了,明天继续。还是那句多多交流!

最新文章

  1. Bookshop(一)数据库连接
  2. js 判断鼠标滚轮方向
  3. css压缩(一)
  4. Protostuff序列化
  5. [SAP ABAP开发技术总结]SD销售订单定价过程
  6. mysql和oracle日期和字符相互转换
  7. Shell编程练习
  8. GNU PID
  9. node中的Readable - flowing/non-flowing mode
  10. Java中普通代码块,构造代码块,静态代码块的代码演示样例及区分
  11. psutil官方文档
  12. jstree获取整棵树的json数据
  13. Unity3D换装系统
  14. 在CentOS7上通过RPM安装实现LAMP+phpMyAdmin过程全记录
  15. Python实现网站模拟登陆
  16. php的调试工具xdebug
  17. Java为什么要配置环境变量及如何配置环境变量
  18. (NO.00003)iOS游戏简单的机器人投射游戏成形记(五)
  19. WebStorm开发工具设置React Native智能提示
  20. 用shell脚本创建sqlite表并添加sql语句--通用

热门文章

  1. 关于JS
  2. Repository 设计模式介绍
  3. 背水一战 Windows 10 (7) - 控件 UI: VisualState, VisualStateManager, 控件的默认 UI
  4. 孙鑫MFC学习笔记5:文本显示
  5. Note: This element neither has attached source nor attached Javadoc and hence no Javadoc could be found.
  6. Criteria查询初学者的采纳点哦
  7. prototype和__proto__
  8. Training - An Introduction to Enterprise Integration
  9. WPF钟表效果实现
  10. Lazyr.js – 延迟加载图片(Lazy Loading)