.NET Framework 3.5新特性
2007年11月英文版VS2008发布了, 同时发布了.NET Framework 3.5. .NET Framework 3.5 增加了很多新特性,比如LINQ,对AJAX,WCF,WPF和WF的支持,以及在.NET Compact Framework, ASP .NET, CLR,密码,网络,Windows 窗体添加了很多新特性和做了改进。这些新特性包括:
.NET Compact Framework
.NET Compact Framework 3.5 版 通过包含 Windows Communication Foundation (WCF) 技术扩展了对分布式移动应用程序的支持。 它还添加了新的语言功能(如 LINQ)和基于社区反馈的新 API,并使用更新的诊断工具和功能来改进调试。
ASP.NET
.NET Framework 3.5 改进了对支持 AJAX 的网站的开发支持。ASP.NET 支持使用一组新的服务器控件和 API 进行以服务器为中心的 AJAX 开发。 通过添加 ScriptManager 控件和 UpdatePanel 控件,可以让现有 ASP.NET 2.0 页面支持 AJAX 功能,这样更新页面时将无需整页刷新。ASP.NET 还支持使用名为 Microsoft AJAX Library 的新客户端库进行以客户端为中心的 AJAX 开发。
外接程序和扩展性
.NET Framework 3.5 中的 System.AddIn.dll 程序集引入了新的结构和模型,可帮助开发人员完成向应用程序添加扩展性的初始工作,并确保开发人员的扩展在宿主应用程序发生更改时仍可继续工作。
公共语言运行库
I/O 和管道
管道提供在同一台计算机上或网络中任意其他 Windows 计算机上运行的任何进程之间的进程间通信。 .NET Framework 提供对两种类型的管道的访问:匿名管道和命名管道。
垃圾回收
GCSettings 类具有一个新的 LatencyMode 属性,可用来调整垃圾回收器侵入应用程序的时间。 可以将此属性设置为新的[System.Runtime.GCLatencyMode]枚举值之一。GC 类具有一个新的 Collect(Int32, GCCollectionMode) 方法重载,可用来调整强制垃圾回收的行为。 例如,可以使用此重载来指定垃圾回收器应确定当前时间是否为回收对象的最佳时间。 此重载采用新的 GCCollectionMode 枚举中的值。
部分信任环境中的反射和反射发出
在部分信任下运行的程序集可以发出并执行代码。 已发出的只调用公共类型和方法的代码不需要超出所访问的类型和方法要求的权限。 对于反射,授予 RestrictedMemberAccess 的宿主同样允许受限制地使用用来访问私有属性、调用私有方法等的方法,但仅对具有等于或小于信任级别的程序集适用。
线程处理
更好的读取器/编写器锁
新的 ReaderWriterLockSlim 类提供明显优于 ReaderWriterLock 的性能,可与lock语句相当(在 Visual Basic 中为SyncLock)。 锁定状态之间的转换已得到简化,从而使编程更容易并减少发生死锁的几率。 新类支持递归,可简化从lock和 ReaderWriterLock 的迁移。
ThreadPool 性能增强
显著提高了在托管线程池中调度工作项和 I/O 任务的吞吐量。 调度可在托管代码中进行处理,而无需转换到非托管代码,并且具有较少的锁。
时区改进
两种新的类型 DateTimeOffset 和 TimeZoneInfo 改进了对时区的支持,可以更容易地开发使用不同时区中的日期和时间的应用程序。
网络
对等网络
对等网络是一种无服务器网络技术,允许若干个网络设备相互之间共享资源和直接通信。 System.Net.PeerToPeer 命名空间提供了一组支持对等名称解析协议 (PNRP) 的类,此协议允许通过在对等群中注册的PeerName对象发现其他的对等节点。 PNRP 可以将对等名称解析为 IPv6 或 IPv4 IP 地址。
使用对等网络的协作
System.Net.PeerToPeer.Collaboration 命名空间提供了一组支持使用对等网络基础结构的协作的类。
套接字性能增强
Socket 类得到了增强,以供使用异步网络 I/O 来获得最高性能的应用程序使用。 一系列新类已经作为增强功能集的一部分添加到了 Socket 命名空间中。 这些类提供了可由专用的高性能套接字应用程序使用的可选异步模式。
Windows Communication Foundation
WCF 和 WF 集成 — 工作流服务
.NET Framework 3.5 统一了 Windows Workflow Foundation (WF) 和 Windows Communication Foundation (WCF) 框架,以便可以使用 WF 作为一种创作 WCF 服务的方式或将现有 WF 工作流作为服务公开。 这样就可以创建具有以下特点的服务:可以保持,可以轻松地向工作流传入或传出数据,并且可以强制实施应用程序级协议。
WCF Web 编程模型
WCF Web 编程模型使开发人员可以使用 WCF 来生成 Web 风格的服务。 Web 编程模型包括丰富的 URI 处理功能、对包括 GET 在内的所有 HTTP 谓词的支持以及一个简单的编程模型。该编程模型可以处理各种消息格式,包括 XML、JSON 和不透明度二进制流。
Web 服务互操作性
在 .NET Framework 3.5 中,Microsoft 遵守了有关互操作性和公共标准的承诺,引入了对新的安全、可靠和事务化 Web 服务标准的支持。
Windows Presentation Foundation
在 .NET Framework 3.5 中,Windows Presentation Foundation 包含多个方面的更改和改进,其中包括版本控制、应用程序模型、数据绑定、控件、文档、批注和三维 UI 元素。
Windows Workflow Foundation
WCF 和 WF 集成 — 工作流服务
.NET Framework 3.5 统一了 Windows Workflow Foundation (WF) 和 Windows Communication Foundation (WF) 框架,以便可以使用 WF 作为一种创作 WCF 服务的方式或将现有 WF 工作流作为服务公开。 这样就可以创建具有以下特点的服务:可以保持,可以轻松地向工作流传入或传出数据,并且可以强制实施应用程序级协议。
Windows 窗体
ClickOnce 改进
已经对 ClickOnce 进行了一些改进。 这些改进包括从多个位置进行部署和第三方署名。 有关更多信息,请参见部署 ClickOnce 应用程序而无需重新签名和创建供其他人部署的 ClickOnce 应用程序。
更新了 .NET Framework 3.5 的 Mage.exe 工具,该工具有时与 ClickOnce 一起使用。
身份验证、角色和设置服务
客户端应用程序服务是 .NET Framework 3.5 中的新增功能,这些服务使基于 Windows 的应用程序(包括 Windows 窗体和 Windows Presentation Foundation 应用程序)可以方便地访问 ASP.NET 登录、角色和配置文件服务。 通过这些服务,可以对用户进行身份验证,并且可以从共享服务器中检索用户角色和应用程序设置。
WPF 支持
可以使用 Windows 窗体来承载 Windows 窗体控件以及 Windows Presentation Foundation (WPF) 控件和内容。
LINQ
语言集成查询 (LINQ) 将强大的查询功能扩展到 C# 和 Visual Basic 的语言语法中,并采用标准的、易于学习的查询模式。 可以对此技术进行扩展以支持几乎任何类型的数据存储。 .NET Framework 3.5 包含 LINQ 提供程序程序集,这些程序集支持使用 LINQ 来查询 .NET Framework 集合、SQL Server 数据库、ADO.NET 数据集和 XML 文档。