• ASP.NET vNext 微笔记


    关心 ASP.NET vNext 的人可能已经读过相关文章,例如:ASP.NET vNext @ 2014。那么,你可能已经知道,ASP.NET vNext 摆脱了 System.Web.DLL,把 Web API 合并至 MVC 框架,而且更全面地采用 task-based 异步程序模型。因此,我们应该可以期待,采用 vNext 应用程序将会更模块化、有更好的性能、更容易编写异步程序(搭配 C# 的 async/await 语法),而且更容易延展(scale)。

    此外,同样重要的是知道 ASP.NET vNext 已经没有的东西。除了刚刚讲的 System.Web 之外,底下这些技术也不存在于 ASP.NET vNext:

    • Web Forms
    • ASMX Web Services
    • ASP.NET AJAX
    • WCF REST
    • Http Module 和 Http Handler

    上列技术仍可以在传统的 ASP.NET 架构下继续使用,但不能在 vNext 应用程序中使用。在 IIS 上面运行的应用程序不能同时混用传统 ASP.NET 和新一代 ASP.NET vNext 框架。

    两种 CLR 口味

    ASP.NET vNext 应用程序有两种执行环境可以选择:Core CLR 和 Full CLR。顾名思义,前者精简轻盈,后者包山包海。

    选择使用 Full CLR 的 vNext 应用程序将可以使用 .NET Framework 4.5 的全部功能,而且是使用 GAC 里面的 .NET DLL 组件。

    选择使用 Core CLR 的 vNext 应用程序则是通过 NuGet 来加载一些核心的 CLR 组件。主要的优点是支持 xcopy 方式部署,以及能够与其他 CLR runtime 版本 side-by-side 执行。缺点则是少了许多组件可用,例如 WinForms、WPF、WCF、WorkFlow 等等。

    虽然 vNext 应用程序可以同时支持 Core CLR 和 Full CLR,而且我们可以在程序里面使用条件编译叙述 #if ASPNET50CORE,但目前看来,实际上恐怕还是开发 Full CLR 的应用程序比较不会碰到编译失败的问题(例如因为找不到某类名而编译失败)。

    K

    刚才提到的 Core CLR 核心组件加载的过程,Rick Strahl 的文章和小朱大大的文章〈ASP.NET 5 的核心:K〉有更详细的介绍有更详细的介绍,建议看看。

    毕竟这一次 ASP.NET 大改版,K 也是主角啊。

    Merry X'mas & Happy New Year!

    參考資料

  • 相关阅读:
    NSData
    Local declaration of 'content' hides instance variable
    【转】关于ObjectiveC 2.0 的垃圾收集
    【转】ObjectiveC 2.0之前需要了解的:关于ObjC内存管理的规则
    【转】谈ObjC对象的两段构造模式
    [转]苹果开发工具XCode教学:用Instruments解决内存泄露
    【转】NSMutableArray的正确使用
    【转】UIAlertView使用小结
    pad点餐系统重构原则
    'initWithFrame:reuseIdentifier:' is deprecated
  • 原文地址:https://www.cnblogs.com/huanlin/p/aspnet-5-notes.html
Copyright © 2020-2023  润新知