首页
学习
活动
专区
圈层
工具
发布

ASMX与WCF
EN

Stack Overflow用户
提问于 2009-08-04 20:18:02
回答 3查看 3.5K关注 0票数 2

我需要一些与这个主题相关的方向;也许我错过了显而易见的东西。

我看不出绑定到HTTP的WCF和强类型的web服务有什么不同。这有什么不同呢??我同意有一些开发上的细微差别,特别是与XmlSerializer相关的ASMX和WCF,以及大量的微软行话。除了这些,我只看到了相似之处

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

在操作上,我理解使用WCF的绑定可以是大量的,而不是被锁定到HTTP,这可能涉及到繁重的构造和拆除。但对于松散耦合,它将全部是web服务。

还有其他操作上的差异吗?

谁能给我指引光明,让我摆脱痛苦??:)

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-08-04 20:20:51

好吧,如果你把讨论减少到只讨论HTTP,那么WCF仍然比ASMX有很多优势:

  • 更多更好的安全设置(使用传输或消息安全的能力)
  • 更灵活-更多可以在
  • 中配置和调整,无论是在配置文件中还是在代码中
  • ASMX服务只能存在于IIS中- IIS是一个必须具备的要求;您可以在控制台应用程序或Windows NT服务
  • 中自行托管您的WCF服务明确专注于在WCF中使用服务和数据契约,可实现更清晰的界面和更好的关注点分离(最终代码更好)
  • 支持可靠的消息传递和事务支持(甚至通过超文本传输协议)

简而言之:即使当你将WCF限制为HTTP时,差异可能会更小,但我仍然认为它更好,如果你现在可以选择开始一些新的东西,请务必使用WCF而不是ASMX!

Rick Strahl在他的blog post中写得很好

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

Marc

票数 13
EN

Stack Overflow用户

发布于 2009-08-06 17:22:44

对于ASMX web服务的使用者来说,另一个要点是,无论哪个平台使用web服务,都必须实现SOAP堆栈。如果您的目标是广泛使用,则WCF更可取,并允许您以更通用的方式公开WS。

票数 2
EN

Stack Overflow用户

发布于 2009-08-04 23:20:02

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1229705

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档