Difference between WCF and Web Service
Difference between WCF and Web Service
Web Services
通过网络直接与其他的应用相连.
Web Services
是平台独立, 语言独立, 为构建与使用标准的web协议和数据格式, 如HTTP
, SOAP
, XML
的应用通讯而开发.
- 开发者仅仅需要了解如何发送和接收
SOAP
信息, 在平台, 对象模型, 或者执行服务的编程语言中不需要熟练, 但是web services
优缺点, 由此诞生了WCF
.
- WCF是一个为了构建基于服务应用的框架, 它允许通过一些传输协议与其他软件实体进行通信.
- 当你在使用WCF的时候, 消息你能够改变从简单的字符到复杂的二进制流. ~是非常可靠的, 安全的和有效的在数据传输中.
Asp.NET web services
与WCF
开发服务有很多的优势. 不公平的说, 一个超过另一个, 但是, 反过来说, 开发者很困惑确定应该使用哪个, 不使用哪个.
- 这里有一个列表会揭开神秘的面纱, 两种服务有什么不同:
- Web Service使用的是XML序列化, 不能够指定类型的字段或者属性被序列化到XML中, 然而, 当WCF使用
DataContratSerializer
能够将字段或者属性序列化到XML中, 这就是为什么WCF优于Web Services
, 因为DataContraSerialize
的性能优于XMLSerializer
.
Web Services
仅仅支持HTTP和HTTPs协议在通信的过程中. 但是WCF支持更多的协议, 像HTTP, TCP和MSMQ, 这些协议可以为了一个更全面的,解决方案, 可信的session会话, 传输而扩展. 这就意味着WCF更加的适合于不同的软件一起工作.
- WCF提供了很多课扩展的, 因为Web Service只能被部署在IIS上, 而WCF可以被部署在IIS,
Windows activation services
, self-hosting
和windows services
.
- WCF对于构建实时的应用程序很优秀, 因为与
web services
相比更加的可信, 更快, 更强健.
- 当二者都在执行一些actions时. Web Services 会比WCF出色.
Asp.Net
web services
不支持duplex双工操作, 但是WCF可以.
- 使用WCF开发的服务时, hash table能够被序列化, 但是web services不可以,
web services
是由当这些集合collections
合并incorporate
IEnumerable
和ICollection
.
- 使用服务行为的类, WCF支持多线程, 但是Web Services不可以.
- 在Asp.Net development services中, SOAP消息可以通过Http交换, 但是WCF服务能够使用任何的数据格式和任何的传输协议. 虽然SOAP是WCF默认的格式.
- WCF service默认有超时能够被配置. 在WCF services中, 如果通信channel不能被打开或者关闭, 在设定的时间中没有相应, 那么WCF的 services会获得超时, web services没有任何相关的属性.
- 鉴于以上的区别, WCF似乎正在替代web services(更老的在.Net framework中的基于服务的开发架构), 但是WCF不支持overloading方法.
原文地址:https://www.cnblogs.com/baron-li/p/14312162.html