ASMX与WCF

ASMX与WCF,wcf,web-services,asmx,biztalk,Wcf,Web Services,Asmx,Biztalk,我需要一些与这个主题相关的指导;也许我错过了显而易见的事情 我没有看到绑定到HTTP的WCF和强类型web服务之间的对比。为什么会有什么不同??我同意在ASMX和WCF中存在一些开发上的细微差别,特别是与XmlSerializer相关的细微差别,以及大量的Microsoft术语。缺少这些;我只看到相似之处 DataContract=WSDL类型 ServiceContract=WSDL(又名服务定义) OperationContract=WebMethod 在操作上,我理解WCF的绑定可能会非常

我需要一些与这个主题相关的指导;也许我错过了显而易见的事情

我没有看到绑定到HTTP的WCF和强类型web服务之间的对比。为什么会有什么不同??我同意在ASMX和WCF中存在一些开发上的细微差别,特别是与XmlSerializer相关的细微差别,以及大量的Microsoft术语。缺少这些;我只看到相似之处

DataContract=WSDL类型 ServiceContract=WSDL(又名服务定义) OperationContract=WebMethod

在操作上,我理解WCF的绑定可能会非常多,而不是局限于HTTP,这可能需要大量的构造和拆卸。但对于松散耦合,它将全部是web服务

是否存在其他操作差异


有人能给我光明,让我摆脱痛苦吗??)

如果您将讨论范围缩小到仅使用HTTP,那么WCF与ASMX相比仍有许多优势:

  • 更多更好的安全设置(能够使用传输或消息安全)
  • 更大的灵活性-可以在WCF中配置和调整更多,无论是在配置文件还是代码中
  • ASMX web服务只能存在于IIS内部-IIS是必须具备的要求;您可以在控制台应用程序或Windows NT服务中自行托管WCF服务
  • 在WCF中对使用服务和数据契约的明确关注,使得界面更加清晰,关注点的分离也更好(最终代码更好)
  • 支持可靠的消息传递和事务支持(甚至通过HTTP)
简言之:即使当您将WCF限制为HTTP时,差异可能会更小,但我仍然认为它更优越,如果您今天可以选择开始新的工作,请务必使用WCF而不是ASMX

Rick Strahl在他的演讲中很好地表达了这一点:

我认为,即使您坚持使用纯HTTP和SOAP,为任何新服务使用WCF也可能是一个好主意,因为通过使用WCF创建服务,您可以决定稍后使用WAS发布相同的服务,并提供更高性能的TCP/IP传输。或者,您可能会被要求提供WS-protocols的一些高级功能,如事务、附件、会话管理、加密等。通过使用WCF,您正在构建面向未来的服务,因此您可以轻松地升级到其他协议,其中一些协议可能在今天还不存在。当然,未来会出现新技术,WCF通过其抽象层和通用API在一定程度上保护您*


Marc

这两种技术之间的另一大区别是,微软现在认为ASMX web服务和XML序列化程序都是“遗留技术”,不再修复其中的漏洞。

对于ASMX web服务的消费者来说,哪种平台将使用web服务都必须实现SOAP堆栈。如果您的目标是广泛消费,则WCF更可取,它将允许您以更通用的方式公开WS。

什么是“强类型ASMX”?是的。。。“强类型ASMX”也让我感到困惑。他们不是都是“强类型”吗?马克,谢谢你的总结;很抱歉,这是从我的雷达上掉下来的。您可以提供一个链接来支持这种说法,即它们是“遗留”的,不再受支持?ASMX是一种遗留技术,不应用于新的开发。WCF应用于web服务客户端和服务器的所有新开发。一个提示:微软已经在MSDN上退出了。