SOAP和ASMX有什么区别?

8
当我想了解SOAP Web服务和ASMX Web服务之间的确切关系时,我发现这似乎很容易,但是当我在谷歌上搜索时,却找不到确切的答案。它们是同一个东西吗?ASMX是SOAP的一种实现方式吗?
对我来说,这个问题很重要。我有一个非常简单的ASMX Web服务。我正在研究如何返回复杂数据。SOAP使用消息包来处理数据交换,但是我的ASMX示例可以轻松地将其返回为C#列表。那么,我是否仍然需要担心学习SOAP中的消息包呢?
我觉得如果我非常清楚地知道两者之间的差异,那将是一个好的开始,并且有助于我以后决定需要使用的技术。
1个回答

20

我认为基本回答就好了,因为任何过于复杂的内容可能会进一步混淆你的思路...

ASMX / WCF / Web Service = 终端点/某人可以调用以提出问题/发送命令等的地方。

SOAP = 简单对象访问协议是客户端和 Web 服务之间数据传输的方式。

因此它们不是可以比较差异的东西,因为它们是不同的东西。将 web 服务视为一个人,SOAP 作为语言。如果两个人(web 服务)都说英语(SOAP),他们将互相理解并能够进行交流。


非常有帮助,谢谢!这是我开始研究的例子:http://www.codeproject.com/Articles/94043/SOAP-Web-Services-Create-Once-Consume-Everywhere Ayyash 的示例是什么使它成为 SOAP Web 服务? 如果我在 ASP.Net 和 C# 中编码,我是否仍需要学习消息包装方法来交换数据? - user1019042
ASMX被视为创建Web服务的“旧”方法。WCF更加新颖和强大(并非总是一件好事)。它们默认使用SOAP(除非您选择其他方式),因此这不是您必须自己完成的工作,它们处理/抽象您远离需要了解太多有关它的知识。当然,您还可以使用Web API(RESTful),它不使用SOAP,并且许多人正在采用这种方式,因为SOAP也有许多缺点。老实说,那篇文章还可以,但现在已经过时了,不再被视为“最佳”方法。 - Belogix
ASMX 不是 SOAP。 - user585968
@MickyD - 我刚看到这个,你说得对,这就是为什么我说“它们不是可以比较差异的东西,因为它们是不同的东西”。 - Belogix

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接