上一个系列主要描述WCF 对网站应用的支持。本章是WCF 附录部分,主要讲述了使用元数据创建客户端,配置HTTP/TCP 连接等等。
[第1篇] 基础
我们需要知道很多东西才能使用微软通信基础架构(WCF)来开发应用程序。尽管这本书已经试着囊括普通开发人员需要了解的WCF所有内容,也还是有一些内容没有讨论到。附录的主要目的是填充这些罅隙。
[第2篇] 从元数据创建客户端
MetadataResolver类允许使用程式而不是使用配置文件来收集绑定信息。这意味着客户端可以动态创建而不需要确定一个配置文件。如果你想部署客户端然后再改服务的配置的话那么这个很有用。
[第3篇] 从元数据创建Silverlight客户端
Silverlight是微软提供下一代媒体体验和为Web提供丰富的交互式应用程序的技术。它允许开发人员为Web创建基于互动、动画、视频以及图像的引人注目的用户接口。Silverlight一个主要的优势是它是跨平台、跨浏览器的技术,可以运行在多个操作系统,比如Windows, Mac OS以及Linux; 可以运行在多种浏览器上,比如IE, Filefox和Safari.
[第4篇] 在服务间共享端口
因特网信息服务 6.0(IIS)以及后续版本提供了一个在多个进程间共享端口的方式。共享端口的实际架构是新的HTTP服务(http.sys)。这是一个为IIS何自我寄宿WCF服务提供链接管理的内核级服务。这个方案对那些使用HTTP传输协议且在寄宿环境间传输的服务很好用。WCF提供Net.Tcp端口共享服务来为TCP连接实现端口共享。
[第5篇] 配置服务配额设置
微软产品自带一个“默认安全”方案。这也包括了WCF,意味着WCF中的多种配置可以设置来阻止诸如DOS(拒绝服务访问)攻击。微软为很多基于一个单一计算机的开发环境选择这样的设置。这也意味着默认设置中的一部分可能需要在生产环境中更改后才能使用。
[第6篇] 使用AJAX和JSON进行网页编程
到目前为止我们已经看了如何使用WebHttpBinding绑定和WebHttpBehavior终结点行为来寄宿服务。这允许我们使用POX来暴露服务。很多网站开发人员想放弃使用XML而使用JSON,一个更简单的格式。JSON非常适合需要一个高效地从服务截取反馈消息的浏览器应用程序,它已经集成了JavaScript的优势,编程语言必须通常使用客户端网络开发。JSON是JavaScript的对象符号元素子集,这意味着你可以很容易地在JavaScript中创建对象。由于这个原因,XML与AJAX应用程序一起使用是很好的。
[第7篇] 配置HTTP连接
HTTP 1.1 标准中包含了一个叫做HTTP Keep-Alive 的特性。HTTP Keep-Alive 允许HTTP在客户端与服务端之间保持连接。这允许客户端保持连接为打开状态以便于它们可以为顺序请求重用这些连接。为了限制一个单一客户端的资源使用,HTTP 1.1 标准规定每个应用程序连接到每个服务端最多可以保留两条连接。默认情况下,.NET Framework 中的HTTP客户端包括WCF使用HTTP 1.1 Keep-Alives.
[第8篇] 配置TCP连接
与HTTP连接不同,WCF不适用.NET Framework 中的类来管理TCP连接生命周期。相反,WCF使用一个连接池来缓存连接。连接池可以使用TcpTransportBindingElement绑定元素的ConnectionPoolSettings属性管理。ConnectionPoolSettings属性返回一个TcpConnectinPoolSettings类的实例。这个类有三个属性来帮助管理连接池中的连接:IdleTimeout, LeaseTimeout以及MaxOutboundConnectionsPerEndpoint.
[第9篇] 在WCF中使用LINQ
语言集成查询(LINQ)是.NET Framework 3.5 中的新技术,允许使用C#或者Visual Studio.NET 来查询数据。传统意义上来说,数据通过在一个应用程序中使用一个字符串表达式查询,比如SQL 或者XPath查询表达式,没有编译时的检查或者智能感知支持。LINQ通过让一条查询成为一个一流语言结构来使用这些能力。LINQ支持多种数据源包括SQL Server数据库,XML文档,ADO.NET DataSets以及.NET对象。LINQ提供一个单一的架构在这些不同的数据源之间查询数据。使用LINQ可以帮助建立数据世界与对象世界的桥梁。