15

我有一个正在构建的应用程序,目前,我使用 ASMX 构建了一些 Web 服务。最后,应用程序将部署在 azure 上。Web 服务非常简单,它们所做的只是调用 AppCode 文件夹中的一个类来处理所有工作。

将我的 Web 服务移动到 WCF 或 Web API 会更好/更容易/更快/更高性能吗?

感谢您的建议。

PS:我想补充一点,Web 服务需要在 HTTPS 中工作。目前,他们在 HTTP 上,因为我处于开发模式。

4

1 回答 1

18

单线:如果你已经有了一个工作代码,并且将它转移到另一种技术是有风险的,那么就留在工作代码中。

取决于谁在回答。

Web API 包含 HTTP 并为您提供 ASMX 和 WCF 无法实现的灵活性。如果您关心 HTTP、内容协商、媒体类型,并且您需要从任何客户端(包括 AJAX)调用您的服务,那么 Web API。

如果您需要能够使用 WS* 安全标准(例如,使用 X509 证书、ADFS 等),可能会更改您的绑定,使用不同的绑定服务于不同的客户端,可扩展性等使用 WCF。

如果您已经有一个工作代码,并且您所关心的只是 RPC,并且您的客户总是会使用 ASMX,那么请坚持使用 ASMX。

表现

没有基准,但我的直觉,按降序排列:Web API、ASMX、WCF

更轻松

按降序排列:ASMX(因为你知道它)、Web API、WCF

更快的发展

如果您都了解它们,Web API 和 ASMX,那么 WCF


PS:学习新技术是好事。事情的发展方式(因为您已经迁移到 Azure)投资新技术很重要。

于 2012-04-16T10:59:30.983 回答