WCF 第十三章 可编程站点 系列文章

上一个系列主要描述WCF对创建分布式应用非常常见的对等网的支持和扩展。本系列主要描述WCF 对网站应用的支持。通过本章你将了解如何完成一个图片服务,至此我们的WCF 之旅也将要告一段落,希望你已经有所收获和想法。

[第1篇] 可编程站点

可编程站点是指一系列设计来帮助开发人员创建站点服务的技术。有很多方式来创建站点服务。我们已经在本书中提及如何使用WCF创建使用SOAP, HTTP 和 XML的WS-* 网络服务。基于WS-* 的服务一般使用一个面向服务的解决方案创建。

[第2篇] 所有都与URI相关

HTTP协议被认为是站点协议。HTTP协议的初衷是交换HTML页,但是它已经被用来访问所有类型的资源,包括图片,视频,应用以及更多。它实现这个的方式是通过确定一个资源定位器以及将要对这个资源执行的操作。

[第3篇] URI和UriTemplates

System.Uri类允许开发人员在一个URI内定义并截取基本信息。这个类允许开发人员访问比如计划,路径和机器名等信息。向网络客户端比如System.Windows.Forms.WebBrowser控制或者System.Net.WebClient类传输一个URI是很好的。System.Uri类的依赖类是System.UriBuilder类。这个类提供了一种方式来修改System.Uri类而不用创建另外一个System.Uri实例。这些类是使用基于HTTP协议的URIs的基础。目前开发人员使用的话还需要额外的能力来支持REST架构类型。

[第4篇] 为站点创建操作

为站点创建操作是指我们想要基于URIs暴露服务,不使用SOAP来对消息编码,使用HTTP协议传递参数,使用JSON或者POX来格式化数据。WCF提供WebHttpBinding绑定来支持这些特性。WebHttpBinding绑定使用两个绑定元素构建。第一个绑定元素是一个称作WebMessageEncodingBindingElement的新的消息编码器。这是一个允许消息使用JSON或者POX进行编码的新的绑定元素。第二个绑定元素是一个基于HttpTransportBindingElement或者HttpsTransportBindingElement的传输绑定元素。这些绑定元素允许使用HTTP协议进行通信。HttpsTransportBindingElement绑定元素用来支持传输层的安全。

[第5篇] 使用WebGet和WebInvoke

服务可以使用WebHttpBinding以及WebGet或者WebInvoke属性来暴露。这些属性每一个都确定HTTP动作、消息格式以及需要暴露给一个操作的消息体形式。我们将检查这些属性的每一个并给出使用每个的原因。

[第6篇] 使用AJAX和JSON进行网页编程

到目前为止我们已经看了如何使用WebHttpBinding绑定和WebHttpBehavior终结点行为来寄宿服务。这允许我们使用POX来暴露服务。很多网站开发人员想放弃使用XML而使用JSON,一个更简单的格式。JSON非常适合需要一个高效地从服务截取反馈消息的浏览器应用程序,它已经集成了JavaScript的优势,编程语言必须通常使用客户端网络开发。JSON是JavaScript的对象符号元素子集,这意味着你可以很容易地在JavaScript中创建对象。由于这个原因,XML与AJAX应用程序一起使用是很好的。

[第7篇] 使用WebOperationContext

寄宿服务使用WebHttpinding绑定来读或者写HTTP上下文是很常见的。这可以使用WebOperationContext类实现。有很多理由来访问HTTP上下文。你可能想要读取自定义的认证信息头或授权信息头,控制缓存或者设置内容类型。

[第8篇] 寄宿站点

可以说WCF在站点中寄宿服务的特性是最好的改进。在.NET Framework 3.5 之前,你不得不提供配置文件或者写代码来寄宿服务。即便你在IIS中寄宿服务也是这样。对那些在站点中寄宿服务的人来说变得很乏味。WCF提供了很多特性来寄宿服务,但是对创建服务的网站开发人员来说却只需要一个配置文件。例如,你可能不希望一个基于AJAX的应用程序支持多个绑定,使用消息层安全或者要求事务处理。为了简化服务寄宿,WCF引入了一个叫做无配置文件寄宿的特性。这允许开发人员不用提供配置文件或者写代码就可以寄宿服务。这个特性的架构是WCF中寄宿模型的一部分。

[第9篇] RSS与ATOM内容聚合

RSS和ATOM是网站内容的聚合形式。这些形式为所有类型的内容聚合所使用,比如新闻,视频以及博客。到目前为止这些格式最广泛的应用就是博客。因为它早期的流行,RSS和ATOM已经被每个主要站点所使用。WCF提供很多架构来与RSS和ATOM聚合种子一起使用。一个新的叫做System.ServiceModel.Syndication的命名空间包含了创建,使用以及格式化基于RSS和ATOM聚合种子的类。创建以及使用内容聚合种子的核心类是SyndicationFeed类。

[第10篇] 总结

WCF中新的网站编程能力简化了创建服务在网站上使用的过程。它们在行为上帮助开发人员快速地在网站上创建并使用服务。这意味着提供了一些可供开发人员使用站点的能力。下面归纳了WCF中那些可以用于网站的能力。

原文地址:https://www.cnblogs.com/danielWise/p/2107989.html