ASP.NET Web Forms的改进
英文原文:Improvements for ASP.NET Web Forms
虽然 ASP.NET Web Forms 不是 vNext 计划的一部分,但它并没有被忽视。作为 Visual Studio 2013 Update 2 的一部分,它重新开始支持新工具、EF 集成和 Roslyn。
为什么 Web Forms 不是 ASP.NET vNext 的一部分
作为开始,让我们先为这个坏消息做下解释。为了改进性能和跨平台可移植性,ASP.NET vNext 正在消除对 System.Web 的依赖。与 OWIN 相比,它缓慢而庞大,使测试工作多了不必要的麻烦。
虽然他们已经多次尝试将其分离出来,但 Web Forms 与 System.Web 其它部分的联系实在是太紧密。那只是问题的开始。System.Web 与 System.Design 有循环依赖,这种情况实在都不应该有出现的可能。更为复杂的是,System.Design 还将 System.Windows.Forms 牵涉其中。
总而言之,Web Forms 的代码就像一团解不开的意大利面。但它还会继续使用,因此微软目前还会对它提供支持。
支持 Roslyn
作为其部署策略的一部分,Web Forms 一直包含运行时编译。这点没有变化,但作为替代实现,开发人员可以切换到基于 Roslyn 的 CodeDOM 提供程序。(CodeDOM 是 Web Forms 目前使用的编译器框架)Pranav Rastogi 写道:
我们测试了一个大小和复杂度适中的应用程序(在\bin 目录下有 600 多个程序集,500 多个用户控件&页面),在启用了将在下面详细说明的新的 CodeDOM 提供程序后,启动/预编译阶段的运行时编译成本由 15 分钟左右降到了 70 秒左右。
支持 ASP.NET Identity 2.0
ASP.NET Identity 是现代用于构建 ASP.NET 应用程序的新的成员资格管理系统。Identity 使得增加用户配置文件、诸如 非死book、推ter、微软账户、Google 等社会化登录、将持久层由 SqlServer 切换到 Azure Table Storage 等工作更简单。它还增加了诸如账户确认、双因素身份验证、帐户锁定、从任何地点单点登录、密码重置和许多其它安全相关的功能。
在本次更新中,Web Forms 模板经过修改包含了来自 ASP.NET Identity 2.0 的功能。
支持 Entity Framework 6
为支持 EF6,下面的组件已经更新:
Web Forms脚手架
脚手架是用在 ASP.NET MVC 模型中的基本 CRUD 操作的代码生成器,在 Visual Studio 2013 中进行了重写。重写的结果是,微软现在可以为 Web Forms 提供脚手架支持。特别地,开发人员可以从一个模型对象生成创建、替换、更新和删除视图。
读者可以从 .NET Web 开发与工具博客上读到完整的 Web Forms 公告。