Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# web服务和wcf之间的主要区别是什么?_C#_Wcf_Web Services - Fatal编程技术网

C# web服务和wcf之间的主要区别是什么?

C# web服务和wcf之间的主要区别是什么?,c#,wcf,web-services,C#,Wcf,Web Services,我知道web服务只能在IIS中作为主机,但wcf可以在IIS中作为主机,也可以在win服务中作为主机。但是,wcf的真正主要力量在哪里呢?对于wcf,开发人员选择wcf而不是web服务。请详细解释。感谢 < P> Windows通信基金会(WCF)有一个ASP.NET兼容模式选项,使WCF应用程序能够像ASP.NET Web服务那样被编程和配置,并模仿它们的行为。 性能更好,web服务使用XmlSerializer,WCF使用DataContractSerializer,与XmlSerializ

我知道web服务只能在IIS中作为主机,但wcf可以在IIS中作为主机,也可以在win服务中作为主机。但是,wcf的真正主要力量在哪里呢?对于wcf,开发人员选择wcf而不是web服务。请详细解释。感谢

< P> Windows通信基金会(WCF)有一个ASP.NET兼容模式选项,使WCF应用程序能够像ASP.NET Web服务那样被编程和配置,并模仿它们的行为。 性能更好,web服务使用XmlSerializer,WCF使用DataContractSerializer,与XmlSerializer相比,DataContractSerializer的性能更好

换句话说,您可以使用WCF托管普通的旧web服务。您还可以通过命名管道/TCP/MSMQ等进行通信。

WCF提供:

  • 统一规划模型
  • 新功能
  • 更多协议
  • 支持较旧的ASMX/XML Web服务

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

基本上,WCF是构建分布式应用程序的一种更有效的方式。与asmx不同,它实际上只是http上的SOAP,WCF提供了许多其他通信提供者(如TCP/IP)。WCF允许您通过配置配置其行为(如何处理数据-异步与同步,对于任何客户端请求,只有一个WCF服务实例等)。所以wcf,简而言之就是.NET2.0的远程处理类加上asmx的继承。话虽如此,您可以在IIS之外的您自己的进程中托管您的WCF-Win服务、Win表单或任何exe。您只需要实现服务主机

懒得看文档的第一页吗?@TomTom:指向这个站点上的一个复制品。另外,这是一个有效的问题。谢谢你的回答,但我不清楚的是1)换句话说,你可以使用WCF托管普通的旧web服务2)更多的可能性,比如通过命名管道/TCP/MSMQ进行通信。如果你有时间,请解释一下。thanksI建议测试编写一些wcf服务,这是开始编写wcf服务的良好起点。