asmx到WCF或Web API

fre*_*hie 15 asp.net wcf azure wcf-web-api asp.net-web-api

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

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

谢谢你的建议.

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

Ali*_*tad 18

One-liner:如果你已经有了一个正常工作的代码,那么使用工作代码将其转移到另一个技术是有风险的.

取决于谁在回答.

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),重要的是投资新技术.