ASP.NET vNext 概述

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

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

这个图不是所有的依赖关系,从这里可以看出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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏逸鹏说道

.NET跨平台之旅:将示例站点从 ASP.NET 5 RC1 升级至 ASP.NET Core 1.0

终于将“.NET跨平台之旅”的示例站点 about.cnblogs.com 从 ASP.NET 5 RC1 升级至 ASP.NET Core 1.0 ,经历了不...

2927
来自专栏跟着阿笨一起玩NET

LinqPad小工具

LINQPad 也是一个很好的学习LINQ的工具,包含《C# 3.0 in a Nutshell》一书中200个示例,可以使用LINQPad感受LINQ的超酷功...

791
来自专栏施炯的IoT开发专栏

Microsoft My Phone Beta 推出

    今天收到My Phone Team发来的邮件,称Microsoft My Phone已经对所有用户开放,无需Promotional Code的验证。根据...

2106
来自专栏漫漫全栈路

.NET Framework概述

什么是 .NET Framework? .NET Framework 是为其运行的应用提供各种服务的托管执行环境。 它包括两个主要组件:公共语言运行时 (CLR...

3765
来自专栏张善友的专栏

.NET 4.0 版本号

.NET 4.5.1, .NET 4.5 和 .NET 4.0 均基于 .NET 4.0 CLR,而 .NET 4.5 对 CLR进行了升级和Bug修复. .N...

4696
来自专栏张善友的专栏

asp.net mvc相关开源项目推荐

asp.net mvc ctp版本发布不到一个月时间,在社区出现了丛多的优秀开源项目,社区的活跃性非常高哦,前一段时间园子里也引发了MVC和WebForm的讨论...

3126
来自专栏张善友的专栏

基于Mono跨平台移动应用开发框架发布Xamarin 3.0

跨平台移动应用开发框架Xamarin可以让你完全用C#编写你的应用程序,在iOS、Android、Windows Phone 8、Windows8和mac平台上...

2206
来自专栏张善友的专栏

SignalR 项目介绍

SignalR 是 ASP.NET 团队正在开发的一个 Microsoft .NET Framework 库和 jQuery 插件,可能包括在以后版本的 ASP...

21010
来自专栏张善友的专栏

在Windows 7/Server 2008 R2上部署asp.net 1.1程序

.NET 1.1只有32位的,Windows Server 2008 R2只有64位的,可以通过WOW64运行32位应用程序,按照How to install ...

2335
来自专栏张善友的专栏

MONO x64 amd_x64

SharpPcap 是一个.NET 环境下的网络包捕获框架,基于著名的 pcap/WinPcap 库开发。提供了捕获、注入、分析和构建的功能,SharpPcap...

1955

扫码关注云+社区

领取腾讯云代金券