0
点赞
收藏
分享

微信扫一扫

ASP.NET vNext 概述

米小格儿 2022-09-02 阅读 102

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 概述_json

​​

这个图不是所有的依赖关系,从这里可以看出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​​
  • ​​Razor​​​ - Razor就不需要介绍了。新的Razor 有一个不再依赖于dom新的代码生成模型,让扩展它变得很简单,同时确保新的Razor工具适用于其他使用Razor的框架 (Nancy, ServiceStack, SimpleWeb)。​​Mvc​​
  • 有更多的扩展点
  • 可以自宿主
  • 控制器不需要一个基类.
  • RazorViewEngine 是基于Roslyn的
  • *Everything*都是异步的
  • ​​SignalR-Server​​​ - 这个版本的功能和​​https://github.com/SignalR/SignalR​​ 相同,但是是基于新的http 堆栈和横切关注点重构的。

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

​​The Roslyn compiler​​

  • ​​Assembly Neutral Interfaces​​
  • ​​The Design Time Host VS integration​​
  • ​​The DefaultHttpContext implementation​​
  • ​​The new RouteCollection​​
  • ​​The crazy DataProtection code​​
  • ​​The new Razor CodeGenerator​​
  • ​​Code that can boot the full CLR​​
  • ​​The MVC ActionInvoker​​
  • ​​ASP.NET vNext on OSX and Linux​​
  • ​​开发 ASP.NET vNext 初步总结(使用Visual Studio 2014 CTP1)​​
  • ​​初次开发 ASP.NET vNext 续篇:云优化的概念、Entity Framework 7.0、目前性能还不够好​​
  • ​​分享我对 ASP.NET vNext 的一些感受,也许多年回过头看 So Easy!​​


举报

相关推荐

0 条评论