我知道Web服务只能在IIS中托管,但wcf可以在IIS中托管,也可以在win服务中托管。但实际的主要力量在于wcf,开发人员选择wcf而不是web服务。请详细说明。感谢
答案 0 :(得分:2)
Windows Communication Foundation(WCF)具有ASP.NET兼容模式选项,可以使WCF应用程序像ASP.NET Web服务一样进行编程和配置,并模仿其行为。
更好的性能,Web服务使用XmlSerializer,WCF使用DataContractSerializer,与XmlSerializer相比,性能更好。
换句话说,您可以使用WCF托管普通的旧Web服务。而且你有更多的可能性,比如使用Named Pipes / TCP / MSMQ等进行通信。
答案 1 :(得分:2)
WCF提供:
在.NET中,除非您有非常具体的遗留要求,否则请使用WCF。
答案 2 :(得分:0)
基本上,WCF是构建分布式应用程序的更强大的方式。与asmx实际上只有SOAP over http相反,WCF提供了许多其他通信提供程序(例如TCP / IP)。 WCF允许您通过配置配置其行为(如何处理数据 - 异步vs同步,只有一个wcf服务实例用于任何客户端请求等)。所以wcf,简而言之就是.net 2.0的远程类加上asmx的成功。话虽如此,您可以在自己的进程中在IIS外部托管您的WCF - Win Service,Win Form或任何exe。您只需要实现服务主机。