前言

时间的朋友》里面几句特别有预见性的话来说明当今儿世界互联网发展趋势:

市场上有一种叫做“父爱算法”的需求。将会诞生很多伟大的公司。背后的精神就是六个字:你不用懂,听我的。真正的机会不在于付费还是免费,而在于你是不是在提供服务。

时间的朋友》

内容

再次拿起WCF,再次颠覆了以前对WCF的认识。由于在去年图书馆项目中是第一次接触WCF技术,第一次接触的时候,有一个服务的和一个客户端,然后自己因为要调试,所以懒得很,就把服务的和客户端放到一个解决方案下面了,那会师父告诉我,这样怎么能体现WCF的优势啊。自己当时没有明白,只知道这样调试方便。现在想想,WCF带着它特有的分布式服务,体现着各种特色优势。

WCF((Windows Communication Foundation),是一项基于DOTNET开发的一种分布式服务。认识WCF的时候,也就意味着你的思想要从面向对象马上步入到面向服务了。说起WCF一定会想起webService,这里就简单的说一下他们一些区别吧!其实我也没有切身体会过这两个技术的独特点,但是通俗的说:webservice包含了wcf,但是webservice拥有自己本身的一些特性,比如消息队列的应用。

这个技术的应用点,个人感觉就是把一个功能复用了,提高了代码的质量,高内聚,解耦合。举个例子:比如腾讯公司提供的qq软件想开发一个天气预报功能,华为就说了,我也想开发一个整个类似的功能,这个时候,新浪的CEO坐不住了,你们添加新功能,我也要添加新功能,于是乎,气象局说,你们都别开发了,别乱了我的生意,我来开发,给你们提供对外服务,你们免费用我的产品,但是你们得宣传我的产品。把功能模块一样的功能,抽象成服务,然后对外提供服务接口,供其他人调用。

我把WCF分为了三个部分:契约、终结点、宿主

契约:分为服务契约、数据契约、消息契约、操作契约等,这些东西原理是基本相似的,相当于双方或者多方的约定。达到你要什么,我给你提供什么,你想多要点儿,没门儿。

终结点:由地址、绑定、契约组成。但是我为什么把契约和终结点分开了,我认为终结点仅仅是一个url,就是带着信息,按着地址找人。

宿主:这个非常重要的,我个人感觉特别重要,因为这个需要我们根据开发项目的大小,项目开发的阶段,选择合适的宿主来更好的应用我们的服务开发。

下面几篇博客,将分别从上面这三个方面介绍WCF。欢迎大家来访~

感谢您的宝贵时间···

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

  1. WCF进阶:扩展bindingElementExtensions支持对称加密传输

      前面两篇文章WCF进阶:将编码后的字节流压缩传输和WCF 进阶: 对称加密传输都是实现了自定义编码,那两个例子中托管服务或者客户端调用都采用的代码实现,WCF更友好的方式是在app.config或 ...

  2. WCF进阶(二)——Contract

    前言 我和用户有个约定,这个契约上篇已经说过了,分为服务契约.操作契约.消息契约.数据契约等,说白了,你到底让我看到什么,你告诉我,或者说,我可以让你看到什么,你敢用吗?下面就说一些基础的,关于这个些 ...

  3. WCF初探-19:WCF消息协定

    WCF消息协定概述 在生成 WCF应用程序时,开发人员通常会密切关注数据结构和序列化问题,而不必关心携带数据的消息结构. 对于这些应用程序,为参数或返回值创建数据协定的过程很简单.但是,有时完全控制 ...

  4. WCF初探-20:WCF错误协定

    WCF错误协定概述 在所有托管应用程序中,处理错误由 Exception 对象表示. 在基于 SOAP 的应用程序(如 WCF 应用程序)中,服务方法使用 SOAP 错误消息来传递处理错误信息. SO ...

  5. [WCF]设置拦截器捕捉到request和reply消息

    WCF进阶学习ing... 在熟练掌握了ABC的使用以后,就开始想着去了解WCF是怎么通信的了.首先是服务描述语言wsdl,它定义了服务的描述等等,用于让外界知道这个服务的ABC是什么.另外一个比较重 ...

  6. WCF 数据服务 4.5

    .NET Framework 4.5 其他版本 WCF 数据服务(以前称为"ADO.NET Data Services")是 .NET Framework 的一个组件.可以使用此组 ...

  7. WCF 消息压缩性能问题及解决方法

    最近使用WCF作为通迅框架开发一套信息系统,系统使用传统C/S框架,系统有可能会部署在互联网上,因此决定对传输的数据进行GZIP压缩,原来在使用.NET Remoting时,可以使用插入自定义的Cha ...

  8. 基于WCF的RESTFul WebAPI如何对传输内容实现压缩

    前言 WCF作为通迅框架可以很容易地实现对消息的压缩,且方法不止一种,主要解决方法主要有以下四种: 1.通过自定义MessageEncoder和MessageEncodingBindingElemen ...

  9. WCF不用证书实现验证(messageheader)

    上文WCF进阶:将消息正文Base64编码中介绍了实现自定义MessageInspector来记录消息和实现自定义Formatter来改写消息,本文介绍一下在WCF中使用SoapHeader进行验证的 ...

随机推荐

  1. php命令执行

    php命令执行通过函来执行外部应用程序,函数有shell_exec(),exec(),system(),passthru() <?php $i = $_GET['cmd']; echo exec ...

  2. MAPREDUCE的原理和使用

    简介: Mapreduce是一个分布式运算程序的编程框架,是用户开发“基于hadoop的数据分析应用”的核心框架: Mapreduce核心功能是将用户编写的业务逻辑代码和自带默认组件整合成一个完整的分 ...

  3. leetcode599

    public class Solution { public string[] FindRestaurant(string[] list1, string[] list2) { var dic = n ...

  4. axis调用webservice客户端开发

    第一步:wsdl2Java.bat文件编写 Axis_Lib表示依赖的jar包路径 Output_Path表示生成的class路径 Package包名 还需要手动更改 -p %Package%表示we ...

  5. mysql之数据类型以及操作数据表

    数据类型: 数据类型是指列.存储过程的参数.表达式和局部变量的数据特征,它决定了数据的存储格式,代表了不同的信息类型. ———————————————————————————————————————— ...

  6. Vue基础以及指令, Vue组件

    Vue基础篇一 Vue指令 Vue的指令directive很像我们所说的自定义属性,指令时Vue模板中最常用的功能,它带有v-前缀,功能是当表达式改变的时候,相应的行为作用在DOM上. <div ...

  7. ThinkPHP3.2 插入数据库数据,缓存问题

    每个字段都是有数据的,可是就是is_new插不进去, 最后的原因就是TP有数据库字段缓存,FUCK 把RunTIme下面的Data文件夹删除掉,在开发模式中就把自动缓存改成Fasle

  8. 十二.filter

    Python内建的filter()函数用于过滤序列. 和map()类似,filter()也接收一个函数和一个序列.和map()不同的是,filter()把传入的函数依次作用于每个元素,然后根据返回值是 ...

  9. 17-pow(c++)

    C++中有封装的pow()可以直接调用,头文件math,同时对函数进行了重载,支持多种参数格式: double pow (double base , double exponent); float p ...

  10. Paper: ImageNet Classification with Deep Convolutional Neural Network

    本文介绍了Alex net 在imageNet Classification 中的惊人表现,获得了ImagaNet LSVRC2012第一的好成绩,开启了卷积神经网络在cv领域的广泛应用. 1.数据集 ...