我有一个正在构建的应用程序,目前,我使用ASMX构建了一些web服务。最后,该应用程序将部署在azure上。web服务非常简单,因为它们所做的就是调用AppCode文件夹中的一个类来处理所有工作。
将我的web服务移动到WCF或Web API会更好/更容易/更快/更高效吗?
谢谢你的建议。
PS:我想补充的是,web服务将需要在HTTPS中工作。目前,它们在HTTP上,因为我处于开发模式。
发布于 2012-04-16 18:59:31
一行:如果你已经有了一个可以工作的代码,并且将它转移到另一种技术上是有风险的,那么就留在工作代码上。
取决于谁在应答。
Web API支持HTTP,并为您提供了ASMX和WCF无法提供的灵活性。如果您关心HTTP、内容协商、媒体类型,并且需要从任何客户端(包括AJAX)调用您的服务,则可以使用Web API。
如果您需要能够使用WS*安全标准(例如,使用X509证书、ADFS等),可能会更改您的绑定,使用不同的绑定为不同的客户端提供服务,可扩展性等。
如果你已经有了一个可以工作的代码,你所关心的就是RPC,而你的客户总是会使用ASMX,那么坚持使用ASMX。
性能
没有基准,但我的直觉,按降序排列: Web API、ASMX、WCF
更简单
按降序排列: ASMX (既然您已经知道了)、Web API、WCF
更快的开发
如果您都了解它们,Web API和ASMX,然后是WCF
PS:学习新技术是很好的。事情正在发展(既然你已经迁移到Azure了),投资于新技术是很重要的。
https://stackoverflow.com/questions/10172506
复制相似问题