WCF从零学习之WCF概述(一)
WCF从零学习之WCF概述(一)
一.WCF概述
我先了解了分布式应用程序开发,所谓分布式应用程序是指应用程序分布在不同计算机上,通过网络来共同完成一项任务。通常为服务器/客户端模式。
在WCF发布之前,我们开发使用的应用程序使用多种现有的.NET Framework技术,比如:
(1)ASP.NET Web 服务(ASMX)。Web service
这种技用于与基于J2EE的现有预定应用程序,以及与Internet上的合作伙伴应用程序进行通信。因为目前大多数平台都支持基本的Web服务,所以在WCF发布之前,这是实现跨供应商互操作性的最直接的方法。
(2).NET Framework远程处理(.net remoting)
这种技术可用于与呼叫中心应用程序进行通信,因为二者都是建议在.NET Framework之上的。远程处理专门为紧密耦合的.NET到。Net通信而设计,因此它为本地网络中的应用程序提供了无缝而直接的开发体验。
(3)企业服务
企业服务仅仅支持有限的一组通信选项
(4)WSE(ASMX的加强版)
它实现了最新定义的一些Web服务协议(统称WS-*规范),因为只要相关所有应用程序都支持这些新规范的兼容版本,WSE就可提供更加灵活的Web服务安全性。
(5)Microsoft消息队列(MSMQ)
用于与基于Windows的合作伙伴应用程序进行通信,这些应用程序对数据传送、工作量分离以及应用程序生存期均要求有保证。消息队列提供持久稳定的消息传送,这通常是间歇式连接的应用程序的最佳解决方案。
由于建立在.NET Framework之上,虽然有这些通信技术中的多种技术才能满足其要求,但最终偶的应用程序实现起来将会很复杂,而且维护起来也很困难,于是WCF出现了。
那么什么是WCF呢?
定义:提供统一的,可用于建立安全、可靠地面向服务的应用的高效开发平台。
WCF就是针对这种繁杂却又切实存在的情况而设计的,是公开和访问服务的Windows应用程序的首选技术
WCF可使用Web服务进行通信,因此与同样支持SOAP的其他平台间的互操作性就变得简单了。
还可以对WCF进行配置和扩展,以便与使用并非基于SOAP对的消息(例如像RSS这种简单的XML格式)的Web服务进行通信。
性能是大多数业务中至关重要的考虑事项。开发WCF的目标就是要使它成为Microsoft所开发的速度最快的分布式应用程序平台之一。
管理对象生存期、定义分布式事务以及企业服务的其他方面的功能现在可以由WCF来提供。任何基于WCF的应用程序都可以使用这些功能。
WCF支持一个大的WS_*规范集,因此可在与同样支持这些规范的任何基于其他平台进行通信时帮助提供可靠性、安全性和事务。
建议在消息队列上的WCF排队消息选项使应用程序能够使用持久的排队,而无需使用另外一组应用程序编程接口。
介绍完了WCF之后,接下来就建立一个简单的WCF服务应用程序




WCF从零学习之WCF概述(一)的更多相关文章
- WCF从零学习之设计和实现服务协定2
WCF从零学习之设计和实现服务协定(二) 在创建服务协定之前,有很多WCF术语,比如: 消息.服务.终结点 创建协定 类或接口都可以定义服务协定,建议使用接口,因为接口可以直接对服务协定建模 服务 ...
- WCF通信简单学习实例
最近在学习WCF通信,自己简单做个实例分享一下,环境是VS2015,使用的项目都是WPF的项目,其实大家用Winform或者Web项目也可以,都可以用的. 一.服务器端 1.创建WCF服务 服务名为W ...
- WCF分布式开发步步为赢(9):WCF服务实例激活类型编程与开发
.Net Remoting的激活方式也有三种:SingleTon模式.SingleCall模式.客户端激活方式,WCF服务实例激活类型包括三种方式:单调服务(Call Service),会话服务(Se ...
- WCF分布式开发步步为赢(7):WCF数据契约与序列化
本节继续学习WCF分布式开发步步为赢(7):WCF数据契约与序列化.数据契约是WCF应用程序开发中一个重要的概念,毫无疑问实现客户端与服务端数据契约的传递中序列化是非常重要的步骤.那么序列化是什么?为 ...
- WCF分布式开发步步为赢(4):WCF服务可靠性传输配置与编程开发
今天继续WCF分布式开发步步为赢系列的第4节:WCF服务可靠性传输配置与编程开发.这个章节,我们要介绍什么是WCF服务的可靠性传输,随便介绍网络协议的概念,Web Service为什么不支持可靠性传出 ...
- WCF分布式开发步步为赢(3)WCF服务元数据交换、配置及编程开发
今天我们继续WCF分布式开发步步为赢(3)WCF服务元数据交换.配置及编程开发的学习.经过前面两节的学习,我们了解WCF分布式开发的相关的基本的概念和自定义宿主托管服务的完整的开发和配置过程.今天我们 ...
- VC++学习之GDI概述
VC++学习之GDI概述 图形设备接口(GDI)是一个可执行程序,它接受Windows应用程序的绘图请求(表现为GDI函数调用),并将它们传给相应的设备驱动程序,完成特定于硬件的输出,象打印机输出和屏 ...
- WCF分布式开发步步为赢(14):WCF安全编程--基本概念
WCF安全机制是个非常复杂的问题,因为涉及的知识点较多,所以今天这个文章,会分析进行WCF安全开发应该了解的哪些知识点.如何查看资料.为了更好地理解WCF安全相关知识,我把WCF安全机制主要知识点整理 ...
- WCF分布式开发步步为赢(13):WCF服务离线操作与消息队列MSMQ
之前曾经写过一个关于MSMQ消息队列的文章:WCF分布式开发必备知识(1):MSMQ消息队列 ,当时的目的也是用它来作为学习WCF 消息队列MSMQ编程的基础文章.在那篇文章里,我们详细介绍了MSMQ ...
随机推荐
- 三个水杯 (bfs)
给出三个水杯,大小不一,并且只有最大的水杯的水是装满的,其余两个为空杯子.三个水杯之间相互倒水,并且水杯没有标识,只能根据给出的水杯体积来计算.现在要求你写出一个程序,使其输出使初始状态到达目标状态的 ...
- decimal system 2016
Problem Description As we know , we always use the decimal system in our common life, even using the ...
- 微信公众平台企业号验证接口、回调 PHP版
微信公众平台企业号验证接口.回调 PHP版,本人为了解决这个企业号的验证和发送消息的问题,整整研究了几天时间,由于微信企业号刚推出来,网上资料太少了!后来在一些朋友的帮助下和本人重复调试完好下,最终整 ...
- 深入浅出MS06-040
入浅出MS06-040 时至今日,网上已有颇多MS06-040的文章,当中不乏精辟之作.与其相比,本文突显业余,技术上无法超越,徒逞口舌之快.本文适合有一定计算机基础,初步了解溢出攻击原理,略微了解逆 ...
- ar命令提取.a时刻,一个错误 is a fat file (use libtool(1) or lipo(1) and ar(1) on it)
在减压.a当文件,据报一个类别似 xxx.a is a fat file (use libtool(1) or lipo(1) and ar(1) on it)的错误,经过查找资料,原来是由于该.a文 ...
- Windows 注册和取消注册一个dll或者ocx
原文:Windows 注册和取消注册一个dll或者ocx 一.DLL是什么 DLL,是Dynamic Link Library 的缩写形式,中文名称为动态链接库. DLL是 ...
- IIS7 URL Rewrite 用法实例
原文:IIS7 URL Rewrite 用法实例 很友好的URL地址,使访问的人很容易记住.要求你的用户记住" http://www.contoso.com/article.aspx?id= ...
- XShell删除键之类的不正常
异常处理汇总-开发工具 http://www.cnblogs.com/dunitian/p/4522988.html 一图解决 异常处理汇总:http://www.cnblogs.com/dunit ...
- asp.net mvc上传头像加剪裁功能
原文:asp.net mvc上传头像加剪裁功能 正好项目用到上传+剪裁功能,发上来便于以后使用. 我不能告诉你们其实是从博客园扒的前台代码,哈哈. 前端是jquery+fineuploader+jqu ...
- deb包+软件图标+添加到系统菜单+举例安装卸载
本文介绍的内容和实验一下: 1. 制造deb包.2. 为了使软件图标.3. 开始菜单中添加到系统中的软件:4. 安装和卸载制作的deb包. 1. 制作deb包 制作deb包的方法可能有多种,本文使用的 ...