自从我大微软发布的asp.net 5的更新以来,网上有众多介绍它的文章,我大概翻了一遍之后概括为以下几点:
1.多平台运行(Windows、linux、MacOS)
asp.net 5版本以后使用一套DN工具和命令集来管理运行环境、包引用,具体说明请参阅:
http://www.cnblogs.com/shanyou/p/4589930.html 和
https://github.com/aspnet/dnx
使用DNVM来配置项目的运行环境,目前运行环境分为:全功能.NET CLR、核心.NET CLR和core CLR,它们的区分是:
.NET CLR:就是我们以前的.net framework全功能的运行环境
核心.NET CLR:是.net framework的精简运行时,在部署时可以连clr一起部署,意味着你的应用可以运行在不同的运行时环境中,不依赖与部署环境中的.net运行时
core CLR:这是微软和mono社区合作完成的跨平台运行时
2.自寄宿独立于IIS web服务器
asp.net 5以前我们的项目是运行在iis中,IIS提供了一套请求管道机制
(管道请参阅:http://www.cnblogs.com/fengzheng/p/3668283.html)
IIS中运行的程序已HttpModule为模块组件,根据不同的周期注册模块,从来实现程序响应。而asp.net 5以后引入佶了Middleware概念,不再有管道的各个声明周期,而是以中间件的形式在服务器和应用程序之间插入特定目的Middleware,从而对request和response响应进行检查、路由和修改。
Middleware概念详细参阅:http://www.cnblogs.com/TomXu/p/4496435.html
脱离IIS的管道生命周期之后,不再依赖于IIS这一款web服务器,asp.net 5实现了监听端口解析http请求和返回的功能。