Difference between WCF and Web Service

Difference between WCF and Web Service

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