.NET3.5 新特性介绍

.NET3.5新特性


1.简介

.NET3.5 通过包含WCF技术扩展实现对分布式移动应用程序实现支持。

添加新的语言功能(LINQ)和基于社区反馈的新API,并使用更新的诊断工具和功能来改进调试。

2. 3.5 SP1 中的 ASP.NET 增强功能

2.1 动态数据

ASP.NET Dynamic Data 框架可使您轻松创建数据驱动的 ASP.NET Web 应用程序。它通过自动发现运行时的数据模型并确定该模型的 UI 行为来实现此目的。支架框架可立即提供功能网站以供查看和编辑数据。然后可以使用元数据、模板或通过创建标准 ASP.NET 页来重写默认行为,从而轻松自定义此基架。同时,现有应用程序可以轻松将支架逻辑的各部分与其现有页面集成。

2.2 URL 路由

ASP.NET 中的 URL 路由使您可以使用不必映射到网站中的特定文件的 URL。由于 URL 不必映射到文件,所以可以在 Web 应用程序中使用 URL,这些 URL 是描述性的用户操作,因此更易于被用户理解。在 URL 路由中,您可以定义包含处理 URL 请求时使用的值的占位符的 URL 模式。在运行时,应用程序名称后面的 URL 部分根据您所定义的 URL 模式解析为离散值。

2.3EntityDataSource 控件

EntityDataSource 控件支持基于实体数据模型 (EDM) 的数据绑定方案。EDM 规范将数据表示为实体和关系集。EDM 由 Entity Framework 在对象关系映射和其他方案(如 ADO.NET 数据服务)中使用。习惯使用 ASP.NET 数据绑定控件的设计时模型的用户将会发现,EntityDataSource 控件的编程图面与其他数据源控件的编程图面类似。

EntityDataSource 控件代表页上的数据绑定控件管理对数据源的创建、读取、更新和删除操作。EntityDataSource 可用于可编辑的网格、具有用户控制的排序和筛选功能的窗体、双重绑定的下拉列表控件以及主-详细信息页。EntityDataSource 控件能够获取页控件的查询参数值、追加到页 URI 的查询参数、Cookie 以及其他 ASP.NET 参数对象。

2.4 新的 ASP.NET AJAX Extensions

ASP.NET AJAX 在 SP1 中的新扩展使您在使用“后退”按钮时可以在更大程度上控制浏览器历史记录。它们还可以使多个客户端脚本自动合并到一个复合脚本中。这样可以大大减少到达服务器所需的往返行程数,从而加快脚本加载速度。

2.5 JScript 格式设置

设置代码格式功能已进行了扩展,可以在 Visual Studio 和 Visual Web Developer 速成版 中支持 JScript。可以选择手动设置文档或选定内容的代码格式,也可以在键入内容时自动设置其格式。

 

3.ASP.NET 中新增功能

3.1 提供了新的服务器控件、类型和客户端脚本库,通过这些新增功能,可以开发 AJAX 样式的 Web 应用程序

3.2 扩展了基于服务器的 Forms 身份验证、角色管理和配置文件服务,作为 Web 服务供基于 Web 的应用程序使用。

3.3 提供了一个新的 EntityDataSource 控件,该控件通过 ASP.NET 数据源控件结构公开实体数据模型。

3.4 提供了一个新的 ListView 数据控件,该控件可用于显示数据,还可提供具有高度可自定义性的用户界面。

3.5 提供了一个新的 LinqDataSource 控件,该控件通过 ASP.NET 数据源控件结构公开语言集成查询 (LINQ)。

3.6 提供了一个新的合并工具 (Aspnet_merge.exe),可用于合并预编译程序集,以灵活的方式实现部署和发布管理。此功能在 Visual Web Developer 速成版 中不可用。

4.Visual Web Developer 增强功能

4.1 新设计视图和 CSS 设计工具

4.2 针对 Jscript 和 ASP.NET AJAX 的 IntelliSense

4.3 Web 应用程序项目

4.4 多目标 Web 应用程序

4.5 设计器和 IntelliSense 对 LINQ 的支持

4.6 支持在 Web 项目中创建和使用 WCF 服务

4.7 支持 ASP.NET AJAX 扩展程序控件

 

5.外接程序和扩展性

.NET Framework 3.5 中的 System.AddIn.dll 程序集向可扩展应用程序的开发人员提供了强大而灵活的支持。它引入了新的结构和模型,可帮助开发人员完成向应用程序添加扩展性的初始工作,

并确保开发人员的扩展在宿主应用程序发生更改时仍可继续工作。该模型提供了以下功能:

5.1 发现

  使用 AddInStore 类可以很容易地在计算机上的多个位置中查找和管理外接程序集。可以使用此类来按照外接程序的基类型搜索和获取有关它们的信息,而不必加载它们

5.2 激活

  使用 AddInToken 类可以轻松地激活应用程序选中的外接程序。只需选择隔离和沙盒级别,系统就会完成剩余的工作。

5.3 隔离

  提供了对应用程序域和外接程序的进程隔离的内置支持。每个外接程序的隔离级别由宿主控制。系统将处理应用程序域和进程的加载,并在这些域和进程的外接程序停止运行后关闭它们。

5.4 沙盒

  可以轻松地将外接程序配置为具有默认信任级别或自定义信任级别。提供的支持包括 Internet、Intranet、完全信任和“与宿主相同”权限集,以及让宿主指定自定义权限集的重载。

5.5 UI 构成

  外接程序模型支持直接构成跨应用程序域边界的 Windows Presentation Foundation (WPF) 控件。可以轻松地允许外接程序直接构成宿主的 UI,同时保留隔离、卸载能力、沙盒和版本控制的好处。

5.6 版本控制

  外接程序结构使宿主可以引入新版本的宿主对象模型,而不中断现有外接程序或不影响开发人员对新版本的体验。

6.公共语言运行时

  6.1 集合

    HashSet<T> 提供对 .NET Framework 的高性能集合运算。集合是一组不重复出现且无特定顺序的元素。有关更多信息,请参见 HashSet 集合类型

  6.2 诊断

EventSchemaTraceListener 类提供端到端、符合架构的事件的跟踪。可以对包含跨线程、AppDomain、进程和计算机边界的异类组件的系统使用端到端跟踪。已定义一个标准化事件架构来启用跨这些边界的跟踪,请参见 Event Representation for Event Consumers(事件使用者的事件表示形式)。此架构由多种跟踪技术共享,其中包括类似事件查看器这样的 Windows Vista 诊断工具。该架构还可支持添加符合架构的自定义元素。

EventSchemaTraceListener 类已针对日志记录性能进行了调整,现在隐式支持无锁定的跟踪

   6.3 I/O 和管道

    管道提供在同一台计算机上或网络中任意其他 Windows 计算机上运行的任何进程之间的进程间通信。.NET Framework 提供对两种类型的管道的访问:匿名管道和命名管道。有关管道的更多信息,请参见管道

  6.4 垃圾回收

GCSettings 类具有一个新的 LatencyMode 属性,可用来调整垃圾回收器侵入应用程序的时间。可以将此属性设置为新的 GCLatencyMode 枚举值之一。

GC 类具有一个新的 Collect(Int32, GCCollectionMode) 方法重载,可用来调整强制垃圾回收的行为。例如,可以使用此重载来指定垃圾回收器应确定当前时间是否为回收对象的最佳时间。此重载采用新的 GCCollectionMode 枚举中的值。

  6.5 部分信任环境中的反射和反射发出

现在,在部分信任下运行的程序集可以发出并执行代码。已发出的只调用公共类型和方法的代码不需要超出所访问的类型和方法要求的权限。使用新的 DynamicMethod(String, Type, Type[]) 构造函数可以很容易地发出类似的代码。

当发出的代码需要访问私有数据时,新的 DynamicMethod(String, Type, Type[], Boolean) 构造函数将允许进行受限制的访问。宿主必须授予ReflectionPermission 新的 RestrictedMemberAccess 标志以启用此功能,这使发出的代码能够访问私有数据,但仅对具有等于或小于信任级别的程序集中的类型和方法适用。请参见演练:从部分信任的方案中发出代码

对于反射,授予 RestrictedMemberAccess 的宿主同样允许受限制地使用用来访问私有属性、调用私有方法等的方法,但仅对具有等于或小于信任级别的程序集适用。

6.6 线程处理

更好的读取器/编写器锁

新的 ReaderWriterLockSlim 类提供明显优于 ReaderWriterLock 的性能,可与 lock 语句相当(在 Visual Basic 中为 SyncLock)。锁定状态之间的转换已得到简化,从而使编程更容易并减少发生死锁的几率。新类支持递归,可简化从 lock 和 ReaderWriterLock 的迁移。

ThreadPool 性能增强

显著提高了在托管线程池中调度工作项和 I/O 任务的吞吐量。现在,调度可在托管代码中进行处理,而无需转换到非托管代码,并且具有较少的锁。建议对特定于应用程序的线程池实现使用 ThreadPool
6.7 时区改进

 两种新的类型 DateTimeOffset 和 TimeZoneInfo 改进了对时区的支持,可以更容易地开发使用不同时区中的日期和时间的应用程序。有关在特定情况下要使用哪种类型的讨论,请参见在 DateTime、DateTimeOffset 和 TimeZoneInfo 之间进行选择

7.加密

  7.1 ClickOnce 清单

  新增了一些密码类,用于验证和获取有关 ClickOnce 应用程序的清单签名的信息。当使用 ManifestSignatureInformation 类的 VerifySignature 方法重载时,可获取有关清单签名的信息。可以使用 ManifestKinds 枚举来指定要验证的清单。验证的结果为 SignatureVerificationResult 枚举值之一。ManifestSignatureInformationCollection 提供已验证签名的 ManifestSignatureInformation 对象的只读集合。

7.2 Suite B 支持

.NET Framework 3.5 支持由美国国家安全机构 (NSA) 发布的 Suite B 加密算法集。有关 NSA 文档,请参见www.nsa.gov/ia/industry/crypto_suite_b.cfm

8.网络

  8.1 对等网络

对等网络是一种无服务器网络技术,允许若干个网络设备相互之间共享资源和直接通信。System.Net.PeerToPeer 命名空间提供了一组支持对等名称解析协议 (PNRP) 的类,此协议允许通过在对等群中注册的 PeerName 对象发现其他的对等节点。PNRP 可以将对等名称解析为 IPv6 或 IPv4 IP 地址。

8.2 使用对等网络的协作

System.Net.PeerToPeer.Collaboration 命名空间提供了一组支持使用对等网络基础结构的协作的类。这些类简化了应用程序执行以下操作的过程

  1. 在不使用服务器的情况下跟踪对等方状态。

  2. 向参与者发送邀请。

  3. 发现同一子网或局域网中的对等方。

  4. 管理联系人。

  5. 与对等方交互。

   8.3 套接字性能增强

 Socket 类得到了增强,以供使用异步网络 I/O 来获得最高性能的应用程序使用。一系列新类已经作为增强功能集的一部分添加到了 Socket 命名空间中。这些类提供了可由专用的高性能套接字应用程序使用的可选异步模式。这些增强功能是专为需要高性能的网络服务器应用程序而设计的。

8.WCF(Windows Communication Foundation)

8.1 WCF 和 WF 集成 — 工作流服务

.NET Framework 3.5 统一了 Windows Workflow Foundation (WF) 和 Windows Communication Foundation (WCF) 框架,以便可以使用 WF 作为一种创作 WCF 服务的方式或将现有 WF 工作流作为服务公开。这样就可以创建具有以下特点的服务:可以保持,可以轻松地向工作流传入或传出数据,并且可以强制实施应用程序级协议。有关更多信息,请参见创建工作流服务和持久性服务。有关代码示例,请参见工作流服务示例

8.2 持久性服务

.NET Framework 3.5 还引入了对 WCF 服务的支持,这些服务使用 WF 持久模型来保存服务的状态信息。这些持久性服务将其状态信息保存在应用程序层上,以便在取消然后重新创建会话时,可以从持久存储区中重新加载该服务的状态信息。有关更多信息,请参见创建工作流服务和持久性服务。有关代码示例,请参见持久性服务示例

8.3 WCF Web 编程模型

WCF Web 编程模型使开发人员可以使用 WCF 来生成 Web 风格的服务。Web 编程模型包括丰富的 URI 处理功能、对包括 GET 在内的所有 HTTP 谓词的支持以及一个简单的编程模型。该编程模型可以处理各种消息格式,包括 XML、JSON 和不透明度二进制流。有关更多信息,请参见 Web 编程模型。有关代码示例,请参见 Web 编程模型示例

8.4 WCF 整合

WCF 现在包含一个强类型对象模型,可用于处理整合源,包括 Atom 1.0 和 RSS 2.0 格式。有关更多信息,请参见 WCF 联合。有关代码示例,请参见联合示例

8.5 WCF 和部分信任

在 .NET Framework 3.5 中,在减少的权限下运行的应用程序可以使用 WCF 功能的有限子集。在 ASP.NET 中等信任权限下运行的服务器应用程序可以使用 WCF 服务模型来创建基本 HTTP 服务。在 Internet 区域权限下运行的客户端应用程序(如 XAML 浏览器应用程序或使用 ClickOnce 部署的未签名的应用程序)可以使用 WCF 代理来使用 HTTP 服务。此外,WCF Web 编程模型功能(包括 AJAX 和整合)可供部分信任的应用程序使用。有关更多信息,请参见部分信任。有关代码示例,请参见部分信任 WCF 示例

 8.6 WCF 和 ASP.NET AJAX 集成

WCF 与 ASP.NET 中的异步 JavaScript 和 XML (AJAX) 功能的集成提供了一个端对端的编程模型,可用于构建可以使用 WCF 服务的 Web 应用程序。在 AJAX 样式的 Web 应用程序中,客户端(例如,Web 应用程序中的浏览器)通过使用异步请求来与服务器交换少量的数据。在 ASP.NET 中集成 AJAX 功能可提供一种生成 WCF Web 服务的简单方法,通过使用浏览器中的客户端 JavaScript 可以访问这些服务。有关更多信息,请参见AJAX 集成和 JSON 支持。有关代码示例,请参见 AJAX 示例

8.7 Web 服务互操作性

在 .NET Framework 3.5 中,Microsoft 遵守了有关互操作性和公共标准的承诺,引入了对新的安全、可靠和事务化 Web 服务标准的支持

 

9.WPF(Windows Presentation Foundation)

在 .NET Framework 3.5 中,Windows Presentation Foundation 包含多个方面的更改和改进,其中包括版本控制、应用程序模型、数据绑定、控件、文档、批注和三维 UI 元素。

有关这些新功能和增强功能的详细信息,请参见 Windows Presentation Foundation 3.5 版中的新增功能

10.WF(Windows Workflow Foundation)

 

10.1 WCF 和 WF 集成 — 工作流服务

.NET Framework 3.5 统一了 Windows Workflow Foundation (WF) 和 Windows Communication Foundation (WF) 框架,以便可以使用 WF 作为一种创作 WCF 服务的方式或将现有 WF 工作流作为服务公开。这样就可以创建具有以下特点的服务:可以保持,可以轻松地向工作流传入或传出数据,并且可以强制实施应用程序级协议。有关更多信息,请参见创建工作流服务和持久性服务。有关代码示例,请参见工作流服务示例 (WF)

10.2 规则

现在,WF 规则引擎支持扩展方法、运算符重载和在规则中使用新的运算符。有关更多信息,请参见 .NET Framework 3.5 中的规则改动。有关代码示例,请参见“规则和条件”示例

11.Windows 窗体

11.1  ClickOnce 改进

已经对 ClickOnce 进行了一些改进。这些改进包括从多个位置进行部署和第三方署名。有关更多信息,请参见部署 ClickOnce 应用程序而无需重新签名创建供其他人部署的 ClickOnce 应用程序

更新了 .NET Framework 3.5 的 Mage.exe 工具,该工具有时与 ClickOnce 一起使用。有关更多信息,请参见清单生成和编辑工具 (Mage.exe)

 11.2 身份验证、角色和设置服务

客户端应用程序服务是 .NET Framework 3.5 中的新增功能,这些服务使基于 Windows 的应用程序(包括 Windows 窗体和 Windows Presentation Foundation 应用程序)可以方便地访问 ASP.NET 登录、角色和配置文件服务。通过这些服务,可以对用户进行身份验证,并且可以从共享服务器中检索用户角色和应用程序设置。

通过在应用程序配置文件中或在 Visual Studio 项目设计器中指定和配置客户端服务提供程序,可以启用客户端应用程序服务。这些提供程序插入到 Web 扩展性模型中,使您可以通过现有的 .NET Framework 登录、角色和设置 API 访问 Web 服务。通过在应用程序脱机时存储和检索本地数据缓存中的用户信息,客户端应用程序服务还支持偶尔连接。

有关更多信息,请参见客户端应用程序服务

11.3 Windows Vista 支持

现有 Windows 窗体应用程序可在 Windows Vista 上无缝运行,如果可能,还可以进行升级,使其具有与专为 Windows Vista 编写的应用程序相同的外观。公用文件对话框将自动更新为 Windows Vista 版本。.NET Framework 3.5 还支持用户帐户控制 (UAC) 盾牌图标。有关更多信息,请参见FileDialog 类和 Shield

11.4 WPF 支持

可以使用 Windows 窗体来承载 Windows 窗体控件以及 Windows Presentation Foundation (WPF) 控件和内容。还可以从 Windows 窗体打开 WPF 窗口。有关如何一起使用 Windows 窗体和 WPF 的更多信息,请参见迁移和互操作性

12.LINQ

 语言集成查询 (LINQ) 是 Visual Studio 2008 和 .NET Framework 3.5 中的新功能。LINQ 将强大的查询功能扩展到 C# 和 Visual Basic 的语言语法中,并采用标准的、易于学习的查询模式。可以对此技术进行扩展以支持几乎任何类型的数据存储。.NET Framework 3.5 包含 LINQ 提供程序程序集,这些程序集支持使用 LINQ 来查询 .NET Framework 集合、SQL Server 数据库、ADO.NET 数据集和 XML 文档。

作为 .NET Framework 3.5 的一部分的 LINQ 的组件包括:

1. System.Linq 命名空间,其中包含用于 LINQ 查询的基础结构中的标准查询运算符、类型和接口的集合。此命名空间位于 System.Core.dll 程序集中。

2. System.Data.Linq 命名空间,其中包含支持与 LINQ to SQL 应用程序中的关系数据库进行交互的类。

3. System.Data.Linq.Mapping 命名空间,其中包含可用于生成表示关系数据库的结构和内容的 LINQ to SQL 对象模型的类。

4. System.Xml.Linq 命名空间,其中包含 LINQ to XML 的类。LINQ to XML 是内存中的 XML 编程接口,使您可以轻松有效地修改 XML 文档。通过使用 LINQ to XML,可以加载 XML,序列化 XML,从头创建 XML 树,操作内存中的 XML 树以及使用 XSD 进行验证。还可以组合使用这些功能,将 XML 树从一种形状转换为另一种形状。

5. System.Web.UI.WebControls 和 System.Web.UI.Design.WebControls 命名空间中的新类型。这些新类型(如 LinqDataSource)支持通过数据源控件在 ASP.NET 网页中使用 LINQ。

6. System.Data 命名空间中的 DataRowComparerDataRowExtensions 和 DataTableExtensions 类支持 LINQ 针对 ADO.NET DataSet 对象的查询。

在类库中,在“内容”窗格和“索引”窗格中的类的成员页中列出了适用于该类的 LINQ 扩展方法。

13.表达式目录树

表达式树是 .NET Framework 3.5 中的新增功能,提供了一种以数据形式表示语言级代码的方法。System.Linq.Expressions 命名空间包含属于表达式树的构建块的类型。这些类型可用来表示不同类型的代码表达式,例如,方法调用或相等比较。

表达式树在针对远程数据源(如 SQL 数据库)的 LINQ 查询中得到了广泛使用。这些查询以表达式树的形式表示,此表示形式可让查询提供程序检查这些查询并将其转换为特定于域的查询语言。

System.Linq.Expressions 命名空间位于 System.Core.dll 程序集中。

14.编程语言

有三种 Microsoft 编程语言是明确针对 .NET Framework 的。有关这些语言中的新增功能和增强的更多信息,请参见以下主题:

C# 中的新增功能

Visual C++ 2008 中的新增功能

Visual Basic 语言的新增功能

15.请参见 

概念

 

 

 

转载于:https://www.cnblogs.com/fycn01/p/6140592.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值