[续前] .NET Framework 3.5 版中的新增功能(4)[整理]
.NET Framework 3.5 版中的新增功能体现在以下诸多方面:
- .NET Compact Framework
- ASP.NET
- 外接程序和扩展性(AddIn)
- 公共语言运行库
- 密码(Cryptography)
- 网络
- WPF(Windows Presentation Foundation)
- WCF(Windows Communication Foundation)
- WF (Windows Workflow Foundation)
- Windows窗体(Windows Forms)
- LINQ
- 表达式目录树(Expression Trees)
- C#,C++.net, VB.net等编程语言的丰富和完善
WCF(Windows Communication Foundation)
- WCF 和 WF 集成 — 工作流服务 .NET Framework 3.5 统一了 Windows Workflow Foundation (WF) 和 Windows Communication Foundation(WCF) 框架,以便可以使用 WF 作为一种创作 WCF 服务的方式或将现有 WF 工作流作为服务公开。这样就可以创建具有以下特点的服务:可以保持,可以轻松地向工作流传入或传出数据,并且可以强制实施应用程序级协议。
- 持久性服务
.NET Framework 3.5 还引入了对 WCF 服务的支持,这些服务使用 WF 持久模型来保存服务的状态信息。这些持久性服务将其状态信息保存在应用程序层上,以便在取消然后重新创建会话时,可以从持久存储区中重新加载该服务的状态信息。
- WCF Web 编程模型 WCF Web 编程模型使开发人员可以使用 WCF 来生成 Web 风格的服务。Web 编程模型包括丰富的 URI 处理功能、对包括 GET 在内的所有 HTTP 谓词的支持以及一个简单的编程模型。该编程模型可以处理各种消息格式,包括 XML、JSON 和不透明度二进制流。
- WCF 整合
WCF 现在包含一个强类型对象模型,可用于处理整合源,包括 Atom 1.0 和 RSS 2.0 格式。
- WCF 和部分信任
在 .NET Framework 3.5 中,在减少的权限下运行的应用程序可以使用 WCF 功能的有限子集。在 ASP.NET 中等信任权限下运行的服务器应用程序可以使用 WCF 服务模型来创建基本 HTTP 服务。在 Internet 区域权限下运行的客户端应用程序(如 XAML 浏览器应用程序或使用 ClickOnce 部署的未签名的应用程序)可以使用 WCF 代理来使用 HTTP 服务。此外,WCF Web 编程模型功能(包括 AJAX 和整合)可供部分信任的应用程序使用。
- WCF 和 ASP.NET AJAX 集成
WCF 与 ASP.NET 中的异步 JavaScript 和 XML (AJAX) 功能的集成提供了一个端对端的编程模型,可用于构建可以使用 WCF 服务的 Web 应用程序。在 AJAX 样式的 Web 应用程序中,客户端(例如,Web 应用程序中的浏览器)通过使用异步请求来与服务器交换少量的数据。在 ASP.NET 中集成 AJAX 功能可提供一种生成 WCF Web 服务的简单方法,通过使用浏览器中的客户端 JavaScript 可以访问这些服务。
- Web 服务互操作性
在 .NET Framework 3.5 中,Microsoft 遵守了有关互操作性和公共标准的承诺,引入了对新的安全、可靠和事务化 Web 服务标准的支持:
- Web 服务可靠消息传递 1.1 版(Web Services Reliable Messaging v1.1)
- Web 服务可靠消息传递策略断言 1.1 版(Web Services Reliable Messaging Policy Assertion v1.1)
- WS-SecureConversation 1.3 版(WS-SecureConversation v1.3)
- WS-Trust 1.3 版(WS-Trust v1.3)
- WS-SecurityPolicy 1.2 版(WS-SecurityPolicy v1.2)
- Web 服务原子事务 1.1 版 [Web Services Atomic Transaction (WS-AtomicTransaction) Version 1.1]
- Web 服务协作 1.1 版 [Web Services Coordination (WS-Coordination) Version 1.1]
- Web 服务策略 1.5 – 框架及附件 Web Services Policy 1.5 - Framework & Attachment
通过使用新的标准绑定 <ws2007HttpBinding> 和 <ws2007FederationHttpBinding>(在 Web 服务协议互操作性指南中介绍),可以使用这些协议的实现。
WF (Windows Workflow Foundation)
- WCF 和 WF 集成 — 工作流服务
.NET Framework 3.5 统一了 Windows Workflow Foundation (WF) 和 Windows Communication Foundation (WCF) 框架,以便可以使用 WF 作为一种创作 WCF 服务的方式或将现有 WF 工作流作为服务公开。这样就可以创建具有以下特点的服务:可以保持,可以轻松地向工作流传入或传出数据,并且可以强制实施应用程序级协议。
- 规则
现在,WF 规则引擎支持扩展方法、运算符重载和在规则中使用新的运算符。
Windows 窗体 (Windows Forms)
- ClickOnce 改进
已经对 ClickOnce 进行了一些改进。这些改进包括从多个位置进行部署和第三方署名。
.NET Framework 3.5 更新了 Mage.exe 工具,该工具有时与 ClickOnce 一起使用。
- 身份验证、角色和设置服务
客户端应用程序服务是 .NET Framework 3.5 中的新增功能,这些服务使基于 Windows 的应用程序(包括 Windows 窗体和 Windows Presentation Foundation 应用程序)可以方便地访问 ASP.NET 登录、角色和配置文件服务。通过这些服务,可以对用户进行身份验证,并且可以从共享服务器中检索用户角色和应用程序设置。
通过在应用程序配置文件中或在 Visual Studio 项目设计器中指定和配置客户端服务提供程序,可以启用客户端应用程序服务。这些提供程序插入到 Web 扩展性模型中,使您可以通过现有的 .NET Framework 登录、角色和设置 API 访问 Web 服务。通过在应用程序脱机时存储和检索本地数据缓存中的用户信息,客户端应用程序服务还支持偶尔连接。
- Windows Vista 支持
现有 Windows 窗体应用程序可在 Windows Vista 上无缝运行,如果可能,还可以进行升级,使其具有与专为 Windows Vista 编写的应用程序相同的外观。公用文件对话框将自动更新为 Windows Vista 版本。.NET Framework 3.5 还支持用户帐户控制 (UAC) 盾牌图标。
- WPF 支持
可以使用 Windows 窗体来承载 Windows 窗体控件以及 Windows Presentation Foundation (WPF) 控件和内容。还可以从 Windows 窗体打开 WPF 窗口。
LINQ
语言集成查询 [Language-Integrated Query (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 文档。
LINQ 的组件包括:
- System.Linq 命名空间
其中包含用于 LINQ 查询的基础结构中的标准查询运算符、类型和接口的集合。此命名空间位于 System.Core.dll 程序集中。
- System.Data.Linq 命名空间
其中包含支持与 LINQ to SQL 应用程序中的关系数据库进行交互的类。
- System.Data.Linq.Mapping 命名空间
其中包含可用于生成表示关系数据库的结构和内容的 LINQ to SQL 对象模型的类。
- System.Xml.Linq 命名空间
其中包含 LINQ to XML 的类。LINQ to XML 是内存中的 XML 编程接口,使您可以轻松有效地修改 XML 文档。通过使用 LINQ to XML,可以加载 XML,序列化 XML,从头创建 XML 树,操作内存中的 XML 树以及使用 XSD 进行验证。还可以组合使用这些功能,将 XML 树从一种形状转换为另一种形状。
- System.Web.UI.WebControls 和 System.Web.UI.Design.WebControls 命名空间中的新类型。这些新类型(如 LinqDataSource)支持通过数据源控件在 ASP.NET 网页中使用 LINQ。
- System.Data 命名空间中的 DataRowComparer、DataRowExtensions 和 DataTableExtensions 类支持 LINQ 针对 ADO.NET DataSet 对象的查询。
注:在类库中,在“内容”窗格和“索引”窗格中的类的成员页中列出了适用于该类的 LINQ 扩展方法。
[待续] .NET Framework 3.5 版中的新增功能(6)