WCF进阶(一)——概述
前言
时间的朋友》里面几句特别有预见性的话来说明当今儿世界互联网发展趋势:
市场上有一种叫做“父爱算法”的需求。将会诞生很多伟大的公司。背后的精神就是六个字:你不用懂,听我的。真正的机会不在于付费还是免费,而在于你是不是在提供服务。
时间的朋友》
内容
再次拿起WCF,再次颠覆了以前对WCF的认识。由于在去年图书馆项目中是第一次接触WCF技术,第一次接触的时候,有一个服务的和一个客户端,然后自己因为要调试,所以懒得很,就把服务的和客户端放到一个解决方案下面了,那会师父告诉我,这样怎么能体现WCF的优势啊。自己当时没有明白,只知道这样调试方便。现在想想,WCF带着它特有的分布式服务,体现着各种特色优势。
WCF((Windows Communication Foundation),是一项基于DOTNET开发的一种分布式服务。认识WCF的时候,也就意味着你的思想要从面向对象马上步入到面向服务了。说起WCF一定会想起webService,这里就简单的说一下他们一些区别吧!其实我也没有切身体会过这两个技术的独特点,但是通俗的说:webservice包含了wcf,但是webservice拥有自己本身的一些特性,比如消息队列的应用。
这个技术的应用点,个人感觉就是把一个功能复用了,提高了代码的质量,高内聚,解耦合。举个例子:比如腾讯公司提供的qq软件想开发一个天气预报功能,华为就说了,我也想开发一个整个类似的功能,这个时候,新浪的CEO坐不住了,你们添加新功能,我也要添加新功能,于是乎,气象局说,你们都别开发了,别乱了我的生意,我来开发,给你们提供对外服务,你们免费用我的产品,但是你们得宣传我的产品。把功能模块一样的功能,抽象成服务,然后对外提供服务接口,供其他人调用。
我把WCF分为了三个部分:契约、终结点、宿主
契约:分为服务契约、数据契约、消息契约、操作契约等,这些东西原理是基本相似的,相当于双方或者多方的约定。达到你要什么,我给你提供什么,你想多要点儿,没门儿。
终结点:由地址、绑定、契约组成。但是我为什么把契约和终结点分开了,我认为终结点仅仅是一个url,就是带着信息,按着地址找人。
宿主:这个非常重要的,我个人感觉特别重要,因为这个需要我们根据开发项目的大小,项目开发的阶段,选择合适的宿主来更好的应用我们的服务开发。
下面几篇博客,将分别从上面这三个方面介绍WCF。欢迎大家来访~
感谢您的宝贵时间···
WCF进阶(一)——概述的更多相关文章
- WCF进阶:扩展bindingElementExtensions支持对称加密传输
前面两篇文章WCF进阶:将编码后的字节流压缩传输和WCF 进阶: 对称加密传输都是实现了自定义编码,那两个例子中托管服务或者客户端调用都采用的代码实现,WCF更友好的方式是在app.config或 ...
- WCF进阶(二)——Contract
前言 我和用户有个约定,这个契约上篇已经说过了,分为服务契约.操作契约.消息契约.数据契约等,说白了,你到底让我看到什么,你告诉我,或者说,我可以让你看到什么,你敢用吗?下面就说一些基础的,关于这个些 ...
- WCF初探-19:WCF消息协定
WCF消息协定概述 在生成 WCF应用程序时,开发人员通常会密切关注数据结构和序列化问题,而不必关心携带数据的消息结构. 对于这些应用程序,为参数或返回值创建数据协定的过程很简单.但是,有时完全控制 ...
- WCF初探-20:WCF错误协定
WCF错误协定概述 在所有托管应用程序中,处理错误由 Exception 对象表示. 在基于 SOAP 的应用程序(如 WCF 应用程序)中,服务方法使用 SOAP 错误消息来传递处理错误信息. SO ...
- [WCF]设置拦截器捕捉到request和reply消息
WCF进阶学习ing... 在熟练掌握了ABC的使用以后,就开始想着去了解WCF是怎么通信的了.首先是服务描述语言wsdl,它定义了服务的描述等等,用于让外界知道这个服务的ABC是什么.另外一个比较重 ...
- WCF 数据服务 4.5
.NET Framework 4.5 其他版本 WCF 数据服务(以前称为"ADO.NET Data Services")是 .NET Framework 的一个组件.可以使用此组 ...
- WCF 消息压缩性能问题及解决方法
最近使用WCF作为通迅框架开发一套信息系统,系统使用传统C/S框架,系统有可能会部署在互联网上,因此决定对传输的数据进行GZIP压缩,原来在使用.NET Remoting时,可以使用插入自定义的Cha ...
- 基于WCF的RESTFul WebAPI如何对传输内容实现压缩
前言 WCF作为通迅框架可以很容易地实现对消息的压缩,且方法不止一种,主要解决方法主要有以下四种: 1.通过自定义MessageEncoder和MessageEncodingBindingElemen ...
- WCF不用证书实现验证(messageheader)
上文WCF进阶:将消息正文Base64编码中介绍了实现自定义MessageInspector来记录消息和实现自定义Formatter来改写消息,本文介绍一下在WCF中使用SoapHeader进行验证的 ...
随机推荐
- oracle显示数据库名和表名
oracle查看表名 select table_name from user_tables; select table_name from dba_tables; select * from all_ ...
- pandas+mysql+excel 数据处理
mysql 建表 join 建索引,不然查询慢 注意时间类型是否update后会被刷新 设计逻辑删除 enable , 不要delete null,字符串 数字运算用函数 ifnull( ...
- PL/SQL查询设计器
被微软惯坏的我,在使用PL/SQL进行oracle多表连接查询操作时候经常挠头. 今天无意间发现了PL/SQL也有查询设计器,虽然没有sqlserver的强大好用,但足够用了. 在菜单栏 工具---& ...
- Spring Cloud Eureka 4 (高可用服务注册中心)
在微服务这样的分布式环境中,我们需要充分考虑发生故障的情况,所以在生产环境中必须考虑对各个组件进行高可用部署,对于服务注册中心也是一样. Eureka Server 的高可用实际上就是讲自己作为服务向 ...
- itemize,enumerate,description 用法【LaTeX 使用】
itemize和enumerate还有description 是LaTeX里列举的三种样式,分别讲一些使用技巧.itemize(意为分条目):\begin{itemize}\item[*] a\ite ...
- java基础之io流总结一:io流概述
IO流概念: 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.io流是实现输入和输出的基础,可以方便的实现数据的输入和输出操作. IO流的分类: 根据处理数据类型的不同分为:字符流 ...
- Adam:一种随机优化方法
我们介绍Adam,这是一种基于一阶梯度来优化随机目标函数的算法. 简介: Adam 这个名字来源于 adaptive moment estimation,自适应矩估计.概率论中矩的含义是:如果一个随机 ...
- SpringBoot18 Swagger、API接口文档生成、WireMock、模拟后台数据
1 Swagger 1.1 简述 前后端分离的项目需要前后端开发人员协同工作,后台开发人员需要给到前端开发者一套API文档:利用Swagger可以简单高效的帮助后台开发者生成RestfulAPI开发文 ...
- VBox 安装 Ubuntu Server 的那些坑,键盘乱码、网卡互连、共享目录等
1.更新,相信大家都是有强迫症的 sudo apt-get update sudo apt-get upgrade 出现错误:Could not open lock file /var/lib/dpk ...
- Tensorflow Mask-RCNN训练识别箱子的模型运行结果(练习)
Tensorflow Mask-RCNN训练识别箱子的模型