2011-01-22 93 views
3

我知道web服务只能在IIS中托管,但wcf可以托管在IIS中,也可以在win服务中使用。但实际的主要权力在哪里,开发人员选择wcf而不是web服务。请详细解释。谢谢web服务和wcf的主要区别是什么?

+2

即使是第一页的文档也懒得读? – TomTom 2011-01-22 18:45:13

+1

@TomTom:指向这个网站上的一个骗局。否则,这是一个有效的问题。 – 2011-01-22 19:05:59

回答

2

Windows Communication Foundation(WCF)具有ASP.NET兼容模式选项,以使WCF应用程序能够像ASP.NET Web服务一样被编程和配置,并模仿它们的行为。

更好的性能,Web服务使用XmlSerializer,WCF使用DataContractSerializer,与XmlSerializer相比,它的性能更好。

换句话说,您可以使用WCF托管普通的旧Web服务。和你有更多的像使用命名管道/ TCP通信的可能性/ MSMQ等

2

WCF提供:

  • 统一的编程模型
  • 新功能
  • 更多的协议对于上了年纪
  • 支持ASMX/XML webservices

在.NET中,使用WCF,除非您有非常具体的遗留要求。

0

基本上WCF是建立分布式应用程序更有效的方式。与asmx相比,http只是SOAP,WCF提供了许多其他通信提供者(如TCP/IP)。 WCF允许您通过配置来配置其行为(如何处理数据 - 异步与同步,任何客户端请求只有一个wcf服务实例等)。所以wcf,简而言之,.net 2.0的远程处理类和asmx在一起的成功。据说,你可以在自己的进程中托管你的WCF以外的IIS - Win Service,Win Form或其他任何exe文件。你只需要实现服务主机。

相关问题