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使得增加用户配置文件、诸如Facebook、Twitter、微软账户、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公告

  英文原文:Improvements for ASP.NET Web Forms

时间: 2024-10-12 12:34:44

ASP.NET Web Forms的改进的相关文章

ASP.NET Web Forms 4.5的新特性

作者:Parry出处:http://www.cnblogs.com/parry/ 一.强类型数据控件 在出现强类型数据控件前,我们绑定数据控件时,前台一般使用Eval或者DataBinder.Eval(Container.DataItem,"FieldName")的形式. 1 <%# DataBinder.Eval(Container.DataItem,"FieldName") %>2 <%# Eval("FieldName")

ASP.NET Web Forms 的 DI 應用範例

跟 ASP.NET MVC 与 Web API 比起来,在 Web Forms 应用程式中使用 Dependency Injection 要来的麻烦些.这里用一个范例来说明如何注入相依物件至 Web Forms 的 ASPX 页面. 使用的开发工具与类别库: Visual Studio 2013 .NET Framework 4.5 Unity 3.5.x 问题描述 基于测试或其他原因,希望 ASPX 网页只依赖特定服务的介面,而不要依赖具象类别. 假设首页 Default.aspx 需要一个传

Asp.Net Web Forms/MVC/Console App中使用Autofac

本来简单介绍了Autofac在Asp.Net Web Forms中的应用,后来又添加了mvc.控制台应用程序中使用Autofac,详情请看源码. ASP.NET Web Forms使用Autofac,至少需要一下步骤: 1,引用Autofac程序集. 2,添加Autofac Web Modules 到 Web.config. 3,在Global.asax中实现IContainerProviderAccessor接口. 我们创建一个ASP.NET Web Forms项目,命名为WebFormStu

在ASP.NET Web Forms中用System.Web.Optimization取代SquishIt

将一个ASP.NET Web Forms项目从.NET Framework 4.0升级至.NET Framework 4.5之后,发现SquishIt竟然引发了HTTP Error 500.0 - Internal Server Error. SquishIt是一个开源的支持ASP.NET的js/css打包工具,项目地址:https://github.com/jetheredge/SquishIt,出生早于Microsoft ASP.NET Web Optimization Framework(

Using Friendly URLs in ASP.NET Web Forms

Introduction Websites often need to generate SEO friendly URLs. In ASP.NET Web Forms applications, a URL is tied to a physical .aspx file. This default mapping between a URL and physical file makes it difficult for Web Forms applications to generate

在ASP.NET Web Forms中使用页面导出伪xls Excel表格

将数据导出为Excel表格是比较常见的需求,也有很多组件支持导出真正的Excel表格.由于Excel能打开HTML文件,并支持其中的table元素以及p之类的文本元素的显示,所以把.html扩展名改为.xls是比较常用的一种方式.当然这只是一种骗人的伎俩,所以我称之为伪xls表格.不过对于要求不高的需求,这种方法还是比较简单快捷的. 在Web Forms项目中,除了用代码拼凑HTML元素标记外,还可以直接用窗体页面渲染HTML表格.Web Forms就是用来渲染动态HTML的,直接利用它,支持代

一个简单的ASP.NET Web Forms应用程序

ASP.NET 支持三种不同的开发模式: Web Pages(Web 页面).MVC(Model View Controller 模型-视图-控制器).Web Forms(Web 窗体) 我给大家展示的是Web Forms(Web 窗体) 第一:我们需要了解下,什么是Web Forms. Web Forms 是三种创建 ASP.NET 网站和 Web 应用程序的编程模式中的一种. Web Forms 是最古老的 ASP.NET 编程模式,是整合了 HTML.服务器控件和服务器代码的事件驱动网页.

Using ASP.Net WebAPI with Web Forms

Asp.Net WebAPI is a framework for building RESTful HTTP services which can be used across a wide range of clients including web, phone and desktop applications. With WebAPI we can use XML and JSON to send and retrieve data from the service. The use o

A Book Store Application Using AngularJS and Asp.Net Web Api

There are many examples out there demonstrating how AngularJS and Web API can be used together but almost all of them are in MVC, so I tried to implement this using Asp.Net web forms and this is what I came up with. For those who are new to AngularJS