ASP.NET vNext 概述

转载 2016年05月30日 14:02:27


兼容Mono的下一代云环境Web开发框架ASP.NET vNext 我们知道了ASP.NET vNext是一个全新的框架,是一个与时俱进的框架。这篇文章将深入讨论在整体架构更多的细节,文档参照 ASP.NET vNext Home,还有这篇文章 http://davidfowl.com/asp-net-vnext-architecture/

github库之间的依赖关系可以看下面这个图 :

vNext_graph2

这个图不是所有的依赖关系,从这里可以看出ASP.NET vNext的一个架构:

  • KRuntime - 包括SDK和运行时 (kvm, kpm和kre),引导到 CoreCLR, full CLR 和mono 的逻辑都在这里了,它还包括一些和编辑器交互的代码,比如 Visual Studio 智能提示,编译错误等等。K Runtime Environment(KRE)这是一个命令行环境,将构建并运行(不再有真正的区别)从他们的新project.json。ASP.NET vNext将packages.config、NuGet 配置(nuspec)以及项目文件(csprojs)合并到统一的项目依赖配置文件project.json中。有个简单的应用程序K Version Manager (KVM)负责安装KRE,可以安装多个版本的KRE,并可以在他们之间自由切换。另外一个亮点是修改代码后,开发者无需编译重启即可查看修改后的结果,ASP.NET vNext在保证吞吐能力的同时,还为开发者提供了Roslyn的“无编译执行”特性。“无编译”即可看到代码修改后的结果这一特性也极大程度提到了开发体验。
  • 横切关注点- 包括Logging, DependencyInjection, FileSystem, 和 Configuration. 大多数项目以某种形式依赖于这些 (直接或者间接)。
  • HttpAbstractions - 这个库包括新的Http抽象,包括但不限于 - HttpContext, HttpRequest,HttpResponse 和新的IBBuilder连接中间件. 也就是对 OWIN 的支持。
  • Hosting - 这个项目可以了解如何启动Web应用程序。 所有的逻辑就是找到启动类和调用配置入口,它还包括一个编写Http 服务器所需要的接口,自己编写一个ASP.NET vNext将是很容易的一件事。
  • Razor - Razor就不需要介绍了。新的Razor 有一个不再依赖于dom新的代码生成模型,让扩展它变得很简单,同时确保新的Razor工具适用于其他使用Razor的框架 (Nancy, ServiceStack, SimpleWeb)。

    Mvc - 这事一个新的MVC/WebAPI/WebPages 相结合的框架,不过这里依然没有Webform的位置。 新的mvc的一些新东东:

    • 有更多的扩展点
    • 可以自宿主
    • 控制器不需要一个基类.
    • RazorViewEngine 是基于Roslyn的
    • *Everything* 都是异步的
  • SignalR-Server - 这个版本的功能和 https://github.com/SignalR/SignalR 相同,但是是基于新的http 堆栈和横切关注点重构的。

ASP.NET vNext还在开发当中,还有很多变化的因数在里面,指望在生成环境部署还尚早,如果你对他的代码感兴趣,参与它的开发,为开源做贡献,这篇文章给你带来一个概貌。想阅读一些代码,下面这些链接是个很好的切入点:

The Roslyn compiler

Asp.NET vNext发布项目到服务器

微软前段时间推出asp.net vnext,自个也尝试了一把,也写了几篇关于vnext特性的博客,如下。 但一直有个困扰的问题,asp.net vnext如何在iis部署,因为整个目录结构跟之前有了...
  • u013538542
  • u013538542
  • 2015年05月24日 11:23
  • 613

Asp.Net底层解析(三)——ASPX页面的生命周期详解

前言:个人认为,对于页面生命周期的理解是开发人员在ASP.NET领域做好做深的前提。当然,因为微软已经将ASP.NET封装得很简单了,所以对于只有基本html&javascript的初学者来说也很容易...
  • mlcactus
  • mlcactus
  • 2013年02月01日 23:21
  • 2479

POCO Controller 你这么厉害,ASP.NET vNext 知道吗?

写在前面 阅读目录: POCO 是什么? 为什么会有 POJO? POJO 的意义 POJO 与 PO、VO 的区别 POJO ...
  • jygongweibin
  • jygongweibin
  • 2014年08月29日 23:01
  • 524

微软继MVC5后,出现ASP.NET VNEXT

vNext又称MVC 6.0,不再需要依赖System.Web,占用的内存大大减少(从前无论是多么简单的一个请求,System.Web本身就要占用31KB内存)。        可以self-hos...
  • yancongmin0702
  • yancongmin0702
  • 2014年06月21日 09:09
  • 1587

POCO Controller 你这么厉害,ASP.NET vNext 知道吗?

阅读目录: POCO 是什么? 为什么会有 POJO? POJO 的意义 POJO 与 PO、VO 的区别 POJO 的扩展 POCO ...
  • liuyuliuyu520
  • liuyuliuyu520
  • 2014年09月24日 09:04
  • 559

微软讲座视频: 下一代vNext平台:ASP.NET vNext与MVC6,WebAPI 3.0 新特性 下载

微软MSDN特邀讲师:徐雷 Frank Xu Lei倾力打造!系统讲解NET vNext 新特性[给力]ASP.NET vNext新特性, MVC6, Web API 3.0新特性,Roslyn编译...
  • book_frank_xl
  • book_frank_xl
  • 2014年08月20日 09:15
  • 2638

ASP.NET 页生命周期概述

ASP.NET 页运行时,此页将经历一个生命周期,在生命周期中将执行一系列处理步骤。 这些步骤包括初始化、实例化控件、还原和维护状态、运行事件处理程序代码以及进行呈现。 了解页生命周期非常重要,...
  • lvjin110
  • lvjin110
  • 2013年09月09日 16:23
  • 530

ASP.NET学习概述篇

天轰穿ASP.NET2.0视频,用flash制作的,看起来超级不方便!       天轰穿的视频,前面都是在讲一些特别基础的东西,基本上每学一种语言,这些东西都要提到;比如变量,数据类型,三...
  • liuyanlinglanq
  • liuyanlinglanq
  • 2013年05月27日 15:59
  • 1000

ASP.NET 页生命周期概述

ASP.NET 页运行时,此页将经历一个生命周期,在生命周期中将执行一系列处理步骤。这些步骤包括初始化、实例化控件、还原和维护状态、运行事件处理程序代码以及进行呈现。了解页的生命周期非常重要,这样就能...
  • wanghanltd
  • wanghanltd
  • 2013年10月18日 10:03
  • 351

ASP.NET 页生命周期概述

原文地址http://msdn.microsoft.com/zh-cn/library/ms178472(VS.80).aspx#feedback ASP.NET 页运行时,此页将经历一个生命周...
  • cjsyr_cjsyr
  • cjsyr_cjsyr
  • 2014年11月26日 16:54
  • 300
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ASP.NET vNext 概述
举报原因:
原因补充:

(最多只允许输入30个字)