前言

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

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

时间的朋友》

内容

再次拿起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. 给安卓端调用的apk、图片下载接口

    package com.js.ai.modules.pointwall.action; import java.io.File; import java.io.FileInputStream; imp ...

  2. Py修行路 python基础 (五)三元运算 字符编码 元组 集合 三级菜单优化!

    三元运算 条件判断不能加冒号: a=3 b=5 c=a if a<b else b oct() 转成八进制的简写:16进制 标志:BH为后缀或是0x为前缀hex() 转成16进制 元组 跟列表是 ...

  3. C#读写EXCEL(二) ZedGraph在Asp.net中的应用

      C#读写EXCEL(二) 2010-08-25 14:50:42|  分类: 默认分类 |  标签: |举报 |字号大中小 订阅 用微信  “扫一扫” 将文章分享到朋友圈. 用易信  “扫一扫” ...

  4. JS判断IE,FF,Opera,Safari等浏览器类型

    第一种,只区分浏览器,不考虑版本 function myBrowser(){ var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串 var ...

  5. powerdesigner Oracle.sql转mysql.sql

    将要导入的库的所有表的表结构(不要表数据,只要表结构)导出成一个.sql文件. 在PowerDesinger里找到 File -->> Reverse Engineer --->&g ...

  6. linux中memset的正确用法

    linux中memset的正确用法 [起因]希望对各种类型的数组进行初始化,避免野值 [函数头文件] 提示:在linux中可以在terminal中输入 "man memset"进行 ...

  7. Subscript & Inheritance

    [Subscript] 1.subscript的定义: 2.Subscript的使用: 3.可以定义多维subscript: 多维Subscript的使用: [Inheritance] 1.overr ...

  8. ParksLink修改密码

    设置环境变量: ?set classpath=D:\ptc\PartsLink\srclib\jmxcore\WtLogR.jar;D:\ptc\PartsLink\srclib\log4j.jar; ...

  9. [转]SQLServer添加UPDATE回滚日志(update/delete/insert)

    下面直接上代码(copy到你的数据库里面直接就可以运行): CREATE PROCEDURE [dbo].[SP_UPDATE_LOG] ) AS BEGIN SET NOCOUNT ON; IF N ...

  10. Linux 下五款出色的流媒体客户端

    数 字流媒体这几天几乎占据了我音乐收听的全部时间.近年来我为了收藏 CD 花费了数量可观的费用:但它们中的大部分现在正静静地躺在满是灰尘的角落里.基本上所有的音乐流媒体服务所提供的的音质都不如 CD ...