我非常困惑WCF和ASMX Web服务之间的区别。在早期阶段,我使用了很多Web服务,现在引入了一个叫做WCF的新东西。我仍然可以创建作为Web服务运行的WCF。我认为WCF中将会有更多的东西。
WCF和Web服务有何区别?应该在什么情况下使用它们?
我非常困惑WCF和ASMX Web服务之间的区别。在早期阶段,我使用了很多Web服务,现在引入了一个叫做WCF的新东西。我仍然可以创建作为Web服务运行的WCF。我认为WCF中将会有更多的东西。
WCF和Web服务有何区别?应该在什么情况下使用它们?
Keith Elder在这里很好地比较了ASMX和WCF。看一下吧。
另一个关于ASMX和WCF的比较可以在这里找到 - 我不完全同意那里的所有观点,但它可能会给你一个想法。
WCF基本上是“ASMX的类固醇版” - 它可以做到ASMX能做的所有事情 - 还有更多!
ASMX是:
WCF可以:
简而言之:WCF已完全取代ASMX。
更新:链接似乎已失效 - 尝试这个:什么是Windows Communication Foundation?
ASMX Web服务只能通过HTTP(传统的.asmx Web服务)调用。而WCF服务或WCF组件可以通过任何协议(如http、tcp等)和任何传输类型调用。
其次,ASMX Web服务不够灵活。然而,WCF服务是灵活的。如果您创建了一个新版本的服务,则只需公开一个新端点。因此,服务具有敏捷性,这是一个非常实用的方法,考虑到当前的业务趋势。
我们将WCF开发为合同、接口、操作和数据合同。作为开发人员,我们更专注于业务逻辑服务,不需要担心通道堆栈。WCF是一种统一的编程API,可用于任何类型的服务,因此我们创建服务并使用配置信息设置通信机制,如HTTP/TCP/MSMQ等。
<endpoint address="http://api.microsofttranslator.com/V1/soap.svc" binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_LanguageService1" contract="TranslatorService.LanguageService" name="BasicHttpBinding_LanguageService3" />
这样。 - AlexMelw<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings />
<system.web>
<compilation targetFramework="4.5" />
<httpRuntime targetFramework="4.5" />
</system.web>
</configuration>
basicHttpBinding
服务,则在配置文件中几乎找不到任何内容。 - John SaundersWCF 完全替代了 ASMX Web 服务。ASMX 是以前的 Web 服务处理方式,而 WCF 是现在的 Web 服务处理方式。所有新的 SOAP Web 服务开发,无论是在客户端还是服务器端,都应该使用 WCF。
不要忘记我曾经是那些更喜欢asmx服务而不是WCF服务的人之一,但当时我对WCF服务及其能力并不了解。我害怕WCF配置。但我敢于尝试编写自己的几个WCF服务,当我学到更多关于WCF的知识后,现在我对WCF没有任何顾虑,并且我向任何人推荐使用它们。 祝编码愉快!