前几篇文章我们简单的介绍了WCF以及怎样使用它,今天我们来讨论一下WCF和WebService的异同。

相信大多数同学跟我一样,对于WebService有所了解。并且应该说你是先听说WebService,后听说还有个WCF的。对不正确?那好,我们今天来一起看看。这两者有何不同。

WebService是标准,是一种规范。严格来说WebService是一种行业标准,不是一种特定的技术。而WCF是一种WebService的实现。在WCF之前,微软系列中有ASP.NET Web Service,后来微软做了ASP.NETWeb Service的安全。性能,数据加密、解密,托管宿主等多方面的扩展。称为WSE系列。WSE3.0.后来就是WCF时代。

WCF是一个分布式应用的开发框架。属于特定的技术,或者平台。既不是标准也不是规范。

一定程度上WCF就是ASP.NET Web Service,由于它支持Web Service的行业标准和核心协议。因此ASP.NET WebService和WSE能做的事情,它差点儿都能胜任,跨平台和语言更不是问题,但它的目标不不过在支持和集成Web Service。

WCF是使用托管代码建立和执行面向服务(ServiceOriented)应用程序的统一框架。

它使得开发人员可以建立一个跨平台的安全、可信赖、事务性的解决方式,且能与已有系统兼容协作。WCF是微软分布式应用程序开发的集大成者,它整合了.Net平台下全部的和分布式系统有关的技术,如EnterpriseSevices(COM+).Net Remoting、WebService(ASMX)、WSE3.0和MSMQ消息队列。以通信(Communiation)范围而论,它能够跨进程、跨机器、跨子网、企业网乃至于 Internet。以宿主程序而论,能够以ASP.NET,EXE,WPF,WindowsForms,NT Service,COM+作为宿主(Host)。

WCF能够支持的协议包含TCP。HTTP,跨进程以及自己定义,安全模式则包含SAML,Kerberos,X509,用户/password,自己定义等多种标准与模式。也就是说,在WCF框架下,开发基于SOA的分布式系统变得easy了。微软将全部与此相关的技术要素都包含在内,掌握了WCF,就相当于掌握了叩开SOA大门的钥匙。

关于WCF大家的一些错误的理解,以及从网上找了一些解释:

1、Web Service太旧了

框架都版本号的差异。功能特性上却是有新旧之分,可是对于特定的系统。适合自己的就是最好的。

2、Web Service 就是 ASP.NET Web Service

相同不是一个范畴。

前者规范,后者是框架

3、WCF比Web Service性能好:不是一个范畴。

4、WCF 比 ASP.NET Web Service快

不一定,须要特定的限制条件,WCF使用BasicHttpBinding的时候与ASP.NET Web Service协议一样。

5、WCF比Web Service速度快:相同概念不严格。

6、WCF比Web Service强大

WCF却是集成了多种微软的分布式技术,可是这里应该严格说是:ASP.NET Web Service

7、WCF比 Web Service安全:不严格。

其次WCF也能够开发全然裸奔的应用程序。

8、Web Service必将被WCF代替

Web Service不会被WCF代替!

前者是一套广泛使用的规范。

假设说WCF能代替的是ASP.NET WebService。由于二者都是.NET平台上的技术。

9、WCF事实上就是Web Service

WCF在某些情况下不遵守 Web服务规范,也就是能够开发非服务性质的应用。并且不能简单等同。

10、WCF很easy。事实上没有什么

WCF尽管是个服务开发框架,可是假设你深入学习。会发现WCF架构的强大之处。单单是WCF安全这一块已经相当的复杂了。

况且还要统一编程模型,兼容和支持很多早期的分布式技术。

好了,这里仅仅是抛砖引玉,详细有哪些不同。还须要大家亲自己主动手查一下。做做样例体验一下。

WCF探索之旅(五)——WCF与WebService的异同相关推荐

  1. WCF后续之旅(11): 关于并发、回调的线程关联性(Thread Affinity)

    对于一般的多线程操作,比如异步地进行基于文件系统的IO操作:异步地调用Web Service:或者是异步地进行数据库访问等等,是和具体的线程无关的.也就是说,对于这些操作,任意创建一个新的线程来执行都 ...

  2. WCF后续之旅(16): 消息是如何分发到Endpoint的--消息筛选(Message Filter)

    在介绍终结点的ListenUriMode时,我们提到了两个特殊的对象ChannelDispatcher和ChannelListener.这两个对象在整个WCF的消息分发系统中具有重要的地位,在这节里, ...

  3. WCF后续之旅(10): 通过WCF Extension实现以对象池的方式创建Service Instance

    我们知道WCF有3种典型的对service instance进行实例化的方式,他们分别与WCF的三种InstanceContextMode相匹配,他们分别是PerCall,PerSession和Sin ...

  4. WCF学习之旅—第三个示例之二(二十八)

    上接WCF学习之旅-第三个示例之一(二十七) 五.在项目BookMgr.Model创建实体类数据 第一步,安装Entity Framework 1)  使用NuGet下载最新版的Entity Fram ...

  5. WCF学习之旅—实现支持REST客户端应用(二十四)

    WCF学习之旅-实现REST服务(二十二) WCF学习之旅-实现支持REST服务端应用(二十三) 在上二篇文章中简单介绍了一下RestFul与WCF支持RestFul所提供的方法,及创建一个支持RES ...

  6. 【Linux探索之旅】第二部分第五课:用户和权限,有权就任性

    内容简单介绍 1.第二部分第五课:用户和权限,有权就任性 2.第二部分第六课预告:Nano,刚開始学习的人的文本编辑器 用户和权限.有权就任性 今天的标题也挺任性的啊,虽说小编是一个非常本分的人(真的 ...

  7. WCF学习之旅—WCF服务的WAS寄宿(十二)

    上接    WCF学习之旅-WCF服务部署到IIS7.5(九) WCF学习之旅-WCF服务部署到应用程序(十) WCF学习之旅-WCF服务的Windows 服务程序寄宿(十一) 八.WAS宿主 IIS ...

  8. Linux 探索之旅 | 第三部分第五课:延时执行,唯慢不破

    -- 作者 谢恩铭 转载请注明出处 内容简介 第三部分第五课:延时执行,唯慢不破 第三部分第六课预告:第三部分测验题 延时执行,唯慢不破 上一课 Linux探索之旅 | 第三部分第四课:后台运行及合并 ...

  9. WCF 入门之旅(4): 怎样用客户端调用WCF服务

    WCF 入门之旅(4): 怎样用客户端调用WCF服务 前面的demo已经能够跑起来,现在开始考虑用客户端来测试所写的应用了,首先用个普通的应用程序来调用所写的wcf服务吧.其实最后运行wcf服务后的页 ...

最新文章

  1. ccna考试真题及经验介绍
  2. Hyper-V的版本
  3. 设置Mybatis(3.2.8)实体嵌套关系(一对多,多对多)遇到的问题及经验总结记录...
  4. NeHe教程Qt实现——lesson05
  5. python3.6.5下载-python3.6.5下载
  6. mysql的varchar要根据实际长度来申请
  7. 【安全漏洞】Resin解析漏洞分析
  8. linux硬盘保护卡,保护卡下安装Linux
  9. 网络中的最基本的服务器DNS的相关知识的介绍
  10. 磁盘在linux是什么文件,鸟哥的 Linux 私房菜 -- Linux 磁盘与文件系统管理
  11. OpenCL编程基本流程及完整示例
  12. 088 菱形继承问题
  13. Atitit js通讯技术 jsbridge ajax bomext Atitit jsbridge 与jsrpc 的联系与区别 JSBridge——Web与Native交互 侧重本
  14. 打印CSDN网页内容,或保存为pdf
  15. Unity 之 ShaderGraph 实现火焰效果入门级教程
  16. empty怎么发音_英语单词empty怎么读,empty的音标是什么,empty是什么意思 - 音标网...
  17. Ubuntu 命令大全 Ubuntu技巧
  18. java所有单词_JAVA常用英语单词列表
  19. 快速傅里叶变换(FFT)和逆快速傅里叶变换(IFFT)
  20. 云服务器就是虚拟主机,为什么很多人说云主机就是虚拟主机?

热门文章

  1. 实现冒泡排序和选择排序
  2. 开课吧:Java软件开发的优点有哪些?​
  3. C语言基础教程之错误处理
  4. Vue.js如何在一个页面调用另一个同级页面的方法
  5. ansible之cron模块
  6. 91期:2016阿里安全峰会重点资料新鲜开放,不能错过
  7. LoadRunner11录制APP脚本(2)
  8. 用Golang写一个搜索引擎(0x07)--- 正排索引
  9. tensorflow实践笔记:屏蔽GPU版tensorflow的提示、分布式训练部署时的问题以及tensorboard的查看
  10. python 读取一个文件夹下所有图像