.NET Framework 4 中的新增功能

摘自http://msdn.microsoft.com/zh-cn/library/ms171868(v=VS.100).aspx

本主题包含有关 .NET Framework 4 版中的主要功能和改进的信息。此主题不提供有关所有新增功能的完整信息,并有可能会发生更改。

.NET Framework 4 引进了改进的安全模式。有关更多信息,请参见.NET Framework 4 中的安全性更改

以下各节介绍了 .NET Framework 4 的其它新增功能和改进:

应用程序兼容性和部署


.NET Framework 4 与使用 .NET Framework 早期版本生成的应用程序有很高的兼容性,除了提高安全性、标准遵从性、正确性、可靠性和性能所做的一些更改之外。

.NET Framework 4 不能自动使用自己的公共语言运行时版本来运行由 .NET Framework 早期版本生成的应用程序。若要使用 .NET Framework 4 运行较早的应用程序,则必须使用 Visual Studio 中项目的属性指定的目标 .NET Framework 版本编译应用程序, 或使用应用程序配置文件中的 <supportedRuntime> 元素 可指定所支持的运行时。

如果安装 .NET Framework 4 后,您的应用程序或组件无法运行,请在 Microsoft Connect 网站上提交 bug。您可以按照 .NET Framework 4 Application Compatibility.NET Framework 4 应用程序兼容性)主题中的描述测试兼容性,并通过 Visual Studio 2010 and .NET Framework 4 WalkthroughsVisual Studio 2010 .NET Framework 4 演练)来了解新增功能。有关其他信息和已知迁移问题,请访问 .NET Framework Compatibility blog.NET Framework 兼容性博客)。

以下各节介绍了部署改进。

Client Profile

.NET Framework 4 Client Profile 比以前版本支持更多平台,并可为 Windows Presentation Foundation (WPF)、控制台或 Windows 窗体应用程序提供更快的部署体验。有关更多信息,请参见.NET Framework Client Profile

进程内并行执行

此功能使应用程序能够在同一个进程中加载和启动多个版本的 .NET Framework。例如,您可以运行在同一进程中加载基于 .NET Framework 2.0 SP1 的外接程序(或组件)和基于 .NET Framework 4 的外接程序的应用程序。较旧组件可继续使用 .NET Framework 的较旧版本,新组件则使用 .NET Framework 的新版本。有关更多信息,请参见 进程内并行执行(需要深入了解)

返回页首

核心新增功能和改进


以下各节介绍公共语言运行时和基类库提供的新增功能和改进。

诊断和性能

.NET Framework 的早期版本没有提供用于确定特定应用程序域是否影响其他应用程序域的方法,因为操作系统 API 和工具(例如,Windows 任务管理器)仅精确到进程级别。�� .NET Framework 4 开始,您可以获得每个应用程序域的处理器使用情况和内存使用情况估计值。

可监控各个应用程序域对 CPU 和内存的使用情况。通过托管承载 API、本机承载 API 以及 Windows 事件跟踪 (ETW),可提供应用程序域资源监控。在启用此功能后,将在进程的生存期内收集有关进程中所有应用程序域的统计信息。请参见新增的 AppDomain..::..MonitoringIsEnabled 属性。

您现在可以访问 ETW 事件以用于诊断目的,从而改进性能。有关更多信息,请参见 CLR ETW 事件控制 .NET Framework 日志记录。另外,请参见 性能计数器和进程内并行应用程序

System.Runtime.ExceptionServices..::..HandleProcessCorruptedStateExceptionsAttribute 特性使托管代码能够处理指示损坏进程状态的异常。

垃圾回收

.NET Framework 4 提供背景垃圾回收。此功能替代了以前版本中的并发垃圾回收并提高了性能。有关更多信息,请参见 垃圾回收的基础

代码协定

代码协定允许您指定方法或类型的签名没有单独表示的协定信息。新的 System.Diagnostics.Contracts 命名空间包含的类可提供一种与语言无关的方式以前置条件、后置条件和对象固定的形式来表示编码假设。这些协定利用运行时检查改进了测试,启用了静态协定验证并支持文档生成。有关更多信息,请参见代码协定

仅用于设计时的互操作程序集

您不必再提供主互操作程序集 (PIA),即可部署与 COM 对象进行交互的应用程序。在 .NET Framework 4 中,编译器可以嵌入互操作程序集中的类型信息,仅选择应用程序(如外接程序)实际使用的类型。由公共语言运行时确保类型安全。请参见在托管代码中使用 COM 类型演练:嵌入 Microsoft Office 程序集中的类型信息(C# 和 Visual Basic

动态语言运行时

动态语言运行时 (DLR) 是一种新运行时环境,它将一组适用于动态语言的服务添加到 CLR。借助于 DLR,可以更轻松地开发要在 .NET Framework 上运行的动态语言,而且向静态类型化语言添加动态功能也会更容易。为了支持 DLR,在 .NET Framework 中添加了新 System.Dynamic 命名空间。

表达式树由表示控制流的新类型(如 System.Linq.Expressions..::..LoopExpression System.Linq.Expressions..::..TryExpression)进行了扩展。动态语言运行时 (DLR) 将使用这些新增类型,而 LINQ 不会使用。

此外,System.Runtime.CompilerServices 命名空间中还添加了多个支持 .NET Framework 基础结构的新类。有关更多信息,请参见动态语言运行时概述

协变和逆变

现在,有多个泛型接口和委托支持协变和逆变。有关更多信息,请参见泛型中的协变和逆变

BigInteger 和复数

新的 System.Numerics..::..BigInteger 结构是一个任意精度 Integer 数据类型,它支持所有标准整数运算(包括位操作)。可以通过任何 .NET Framework 语言使用该结构。此外,一些新 .NET Framework 语言(例如 F# IronPython)对此结构具有内置支持。

新的 System.Numerics..::..Complex 结构表示一个复数,它支持使用复数的算术运算和三角运算。

元组

.NET Framework 4 提供了用于创建包含结构化数据的元组对象的 System..::..Tuple 类。它还提供了泛型元组类以支持具有 1 8 个组件的元组(即,从单一实例到八元组)。为了支持具有 9 个或更多组件的元组对象,提供了一个具有 7 个类型参数和任何元组类型的第 8 个参数的泛型元组类。

文件系统枚举改进

新的文件枚举方法可以提高访问大文件目录或循环访问大文件中的行的应用程序的性能。有关更多信息,请参见如何:枚举目录和文件

内存映射文件

.NET Framework 现在支持内存映射文件。可以使用内存映射文件编辑非常大的文件和创建共享内存以进行进程间通信

64 位操作系统和进程

使用 Environment..::..Is64BitOperatingSystem Environment..::..Is64BitProcess 属性可以标识 64 位操作系统和进程。

打开基项时,可以使用 Microsoft.Win32..::..RegistryView 枚举指定 32 位或 64 位注册表视图。

其他新增功能

以下列表介绍其他新增功能、改进和便利。其中的几个功能是根据客户建议增加的。

返回页首

Managed Extensibility Framework


Managed Extensibility Framework (MEF) .NET Framework 4 中的一个新库,可帮助您生成可扩展和可组合的应用程序。使用 MEF 可指定可以扩展应用程序的位置,公开要提供给其他可扩展应用程序的服务并创建供可扩展应用程序使用的部件。MEF 还可以基于元数据启用可用部件的便捷发现功能,而无需加载部件的程序集。有关更多信息,请参见 Managed Extensibility Framework。有关 MEF 类型的列表,请参见 System.ComponentModel.Composition 命名空间。

返回页首

并行计算


.NET Framework 4 引入了用于编写多线程和异步代码的新编程模型,极大地简化了应用程序和库开发人员的工作。该新模型使开发人员可以通过固有方法编写高效、细化且可伸缩的并行代码,而不必直接处理线程或线程池。新的 System.Threading.Tasks 命名空间和其他相关类型支持此新模型。并行 LINQ (PLINQ) LINQ to Objects 的并行实现,能够通过声明性语法实现类似功能。有关更多信息,请参见 .NET Framework 中的并行编程

返回页首

网络


网络改进包含以下几个方面:

返回页首

网页


ASP.NET 4 版在以下几个方面引入了新功能:

  • 核心服务,包括可用来扩展缓存的新 API、支持对会话状态的数据进行压缩以及新的应用程序预加载管理器(自动启动功能)。
  • Web 窗体,包括对 ASP.NET 路由的更集中化支持、对 Web 标准的增强支持、更新的浏览器支持、数据控件的新功能以及视图状态管理的新功能。
  • Web 窗体控件,包括新的 Chart 控件。
  • MVC,包括视图的新帮助器方法、对分区的 MVC 应用程序的支持以及异步控制器。
  • 动态数据,包括对现有 Web 应用程序的支持、对多对多关系和继承的支持、新的字段模板和特性以及增强的数据筛选。
  • Microsoft Ajax,包括对 Microsoft Ajax 库中的基于客户端的 Ajax 应用程序的附加支持。
  • Visual Web Developer,包括改进的 JScript IntelliSense、针对 HTML ASP.NET 标记的新的自动完成代码段和增强的 CSS 兼容性。
  • 部署,包括用于自动化典型部署任务的新工具。
  • 多目标,包括针对目标版本的 .NET Framework 中未提供的功能的更好的筛选功能。

有关这些功能的更多信息,请参见 ASP.NET 4 和 Visual Web Developer 中的新增功能

返回页首

客户端


Windows Presentation Foundation

.NET Framework 4 中,Windows Presentation Foundation (WPF) 包含很多方面(包括控件、图形和 XAML)的更改和改进。 有关更多信息,请参见 WPF 版本 4 的新增功能

返回页首

数据


ADO.NET

ADO.NET Entity Framework 提供了新增功能,包括持久性透明对象、LINQ 查询中的功能以及自定义对象层代码生成。有关更多信息,请参见 ADO.NET 中的新增功能

动态数据

ASP.NET 4 的动态数据得到了增强,为您提供快速生成数据驱动网站的更强大功能。这包括:

  • 基于数据模型中定义的约束的自动验证
  • 可以使用属于动态数据项目一部分的字段模板轻松更改为 GridView DetailsView 控件中的字段生成的标记。

有关更多信息,请参见 ASP.NET 4 和 Visual Web Developer 中的新增功能

返回页首

通信和工作流


Windows Presentation Foundation (WPF) 提供了消息增强以及与 Windows Workflow Foundation (WF) 的无缝集成。WF 在性能、可伸缩性、工作流建模方面进行了改进,并提供了一个更新的可视化设计器。有关更多信息,请参见 What's New in Windows Communication Foundation What's New in Windows Workflow Foundation

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值