我需要一些与此主题相关的方向;也许我错过了显而易见的事。
我没有看到绑定到HTTP的WCF和强类型的Web服务之间的对比。为什么这会有所不同?我同意在ASMX与WCF以及过多的微软术语中存在一些特别与XmlSerializer相关的开发细微差别。没有这些;我只看到了平行线
DataContract = WSDL类型 ServiceContract = WSDL(又名服务定义) OperationContract的=的WebMethod
在操作上,我理解WCF的绑定可能很多,而不是被锁定到HTTP,这可能涉及重构造和拆除。但对于松散耦合,它们都将是Web服务。
还有其他操作上的差异吗?
有人能告诉我光明,让我摆脱痛苦吗? :))
答案 0 :(得分:13)
好吧,如果你将讨论减少到只有HTTP,那么WCF仍然有一些优于ASMX的优势:
简而言之:即使将WCF限制为HTTP时差异可能会更小,我仍然认为它更优越,如果您可以选择今天开始新的事情,请务必使用WCF而不是ASMX!
Rick Strahl在他的blog post:
中非常好地表达了这一点我认为即使您坚持使用纯HTTP和SOAP,使用WCF也可能是一个好主意,因为通过使用WCF创建服务,您可以稍后决定使用WAS发布此相同服务还提供更高性能的TCP / IP传输。或者可能会要求您提供WS - 协议的一些高级功能,如事务,附件,会话管理,加密等。通过使用WCF,您可以构建服务,以便将来可以轻松移动其他协议 - 其中一些甚至可能在今天都不存在。当然,未来会出现新技术,WCF会通过其抽象层和通用API对您进行一些保护。*
马克
答案 1 :(得分:2)
ASMX Web服务的消费者的另一点是,平台将使用Web服务,必须实现SOAP堆栈。如果您的目标是广泛消费,那么WCF是更可取的,并且允许您以更通用的方式公开WS。
答案 2 :(得分:1)
两种技术之间的另一个显着区别是,微软现在认为ASMX Web服务和XML Serializer都是“遗留技术”,并且不再修复它们中的错误。