WCF进阶(一)——概述】的更多相关文章

  前面两篇文章WCF进阶:将编码后的字节流压缩传输和WCF 进阶: 对称加密传输都是实现了自定义编码,那两个例子中托管服务或者客户端调用都采用的代码实现,WCF更友好的方式是在app.config或web.config来配置服务的运行和调用,本文是介绍如何在配置文件中配置自定义的BindingElement. 上文WCF 进阶: 对称加密传输中我们实现了一个自定义的BindingElement:CryptEncodingBindingElement,它是一个MessageEncodingBin…
前言 时间的朋友>里面几句特别有预见性的话来说明当今儿世界互联网发展趋势: 市场上有一种叫做"父爱算法"的需求.将会诞生很多伟大的公司.背后的精神就是六个字:你不用懂,听我的.真正的机会不在于付费还是免费,而在于你是不是在提供服务. 时间的朋友> 内容 再次拿起WCF,再次颠覆了以前对WCF的认识.由于在去年图书馆项目中是第一次接触WCF技术,第一次接触的时候,有一个服务的和一个客户端,然后自己因为要调试,所以懒得很,就把服务的和客户端放到一个解决方案下面了,那会师父告诉我…
前言 我和用户有个约定,这个契约上篇已经说过了,分为服务契约.操作契约.消息契约.数据契约等,说白了,你到底让我看到什么,你告诉我,或者说,我可以让你看到什么,你敢用吗?下面就说一些基础的,关于这个些契约的分别定义,已经有什么其他的独特的之处. 内容 需要引用的命名空间 using System.ServiceModel; [ServiceContract]和[OperationContract] 指示接口或类在 Windows CommunicationFoundation (WCF) 应用程…
WCF消息协定概述 在生成 WCF应用程序时,开发人员通常会密切关注数据结构和序列化问题,而不必关心携带数据的消息结构. 对于这些应用程序,为参数或返回值创建数据协定的过程很简单.但是,有时完全控制 SOAP 消息的结构与控制其内容一样重要. 当必须提供互操作性或需要在消息或消息部分级别特别控制安全问题时,更是如此. 在这些情况下,您可以创建消息协定 ,使您可以指定所需的精确的 SOAP 消息的结构. 一般来说,定义消息的架构时使用数据协定就足够了.但是,有时必须精确控制如何到通过网络传输的 S…
WCF错误协定概述 在所有托管应用程序中,处理错误由 Exception 对象表示. 在基于 SOAP 的应用程序(如 WCF 应用程序)中,服务方法使用 SOAP 错误消息来传递处理错误信息. SOAP 错误是包括在服务操作元数据中的消息类型,因此会创建一个错误协定,客户端可使用该协定来使操作更加可靠或更具交互性. 此外,由于 SOAP 错误在客户端以 XML 格式表示,这是一种任何 SOAP 平台上的客户端都可以使用的具有极好的互操作性的类型系统,可增加 WCF 应用程序的适用范围. 由于…
WCF进阶学习ing... 在熟练掌握了ABC的使用以后,就开始想着去了解WCF是怎么通信的了.首先是服务描述语言wsdl,它定义了服务的描述等等,用于让外界知道这个服务的ABC是什么.另外一个比较重要的就是消息. WCF是通过消息进行通讯的,一般是使用SOAP形式.服务端的信道监听器接收到消息之后,对消息进行反序列化,解码,然后通过激活对象,再去invoke相应的操作,操作的结果(返回值)再通过编码,序列化,传送给调用者,调用者再对消息进行反序列化,解码,最后拿到结果.所以在这个过程中,对消息…
.NET Framework 4.5 其他版本 WCF 数据服务(以前称为"ADO.NET Data Services")是 .NET Framework 的一个组件.可以使用此组件创建一些服务,利用开放式数据协议 (OData) 来借助具象状态传输 (REST)(可能为英文网页)语义通过 Web 或 Intranet 公开和使用数据.OData 将数据公开为可通过 URI 寻址的资源. 可使用 GET.PUT.POST 和 DELETE 这些标准 HTTP 谓词来访问和更改数据.OD…
最近使用WCF作为通迅框架开发一套信息系统,系统使用传统C/S框架,系统有可能会部署在互联网上,因此决定对传输的数据进行GZIP压缩,原来在使用.NET Remoting时,可以使用插入自定义的ChannelSink来实现数据压缩,作为.NET Remoting的替代方案的WCF,实现起来也很容易,且方法不止一种,主要解决方法主要有以下四种: 通过自定义MessageEncoder和MessageEncodingBindingElement 来完成.具体的实现,可以参阅张玉彬的文章<WCF进阶:…
前言 WCF作为通迅框架可以很容易地实现对消息的压缩,且方法不止一种,主要解决方法主要有以下四种: 1.通过自定义MessageEncoder和MessageEncodingBindingElement 来完成.具体的实现,可以参阅张玉彬的文章<WCF进阶:将编码后的字节流压缩传输>: 2.直接创建用于压缩和解压缩的信道,在CodePlex中具有这么一个WCF Extensions: 3.自定义MessageFormatter实现序列化后的压缩和反序列化前的解压,详见WCF大师Artech中的…
上文WCF进阶:将消息正文Base64编码中介绍了实现自定义MessageInspector来记录消息和实现自定义Formatter来改写消息,本文介绍一下在WCF中使用SoapHeader进行验证的两种实现方法,同时再次复习自定义Inspector和自定义EndpointBehavior. 在Xml Web Service中能将用户的身份信息如用户名,密码添加到SoapHeader中,从而实现服务调用的身份验证,这种做法是沿用了Http中用户名,密码 身份验证,是我们最乐于接受的.而在WCF中…