Microsoft WCF数据服务技术的未来是什么?应该开始迁移到WebAPI吗?

时间:2015-08-28 12:04:19

标签: wcf asp.net-web-api odata

我们最近一直在使用WCF数据服务(也就是Astoria)来暴露ODATA我正在阅读微软不再投资,他们更喜欢使用ASP.NET WebAPI作为暴露ODATA的机制。有没有人对使用ASP.NET WEB API和WCF数据服务进行任何比较?我们应该开始迁移到ASP.NET WebAPI而不是WCF数据服务吗?

2 个答案:

答案 0 :(得分:1)

您可能会对

Stack Prioritization & Strategy Adjustment感兴趣。

致以最诚挚的问候,

Henrik Dahl

答案 1 :(得分:1)

我的简单建议是坚持使用REST API形式的最简单选项。您可以使用任何技术来构建REST;如果它遵循REST规范的一些标准定义。

您可以阅读我关于WEBAPI REST的指南:http://imcodebased.com/restful-webapi-best-practices/

您可以将MVC甚至WebApi2用于REST;但是,不要超越微软可能为您生产的东西。它可能会节省一些时间,例如OData(分页/过滤器),但你会发现微软将停止花钱进一步增强,甚至完全切断。然后你会在离开时回到绘图板。

所以你是对的,你应该离开OData。现在关于您是否转移到WEBAPI或WCF的问题,那么您需要问的问题是,您是否需要复杂性,或者您只想通过HTTP协议公开数据。

如果您只想支持HTTP协议,那么WebApi就是您的解决方案。你需要寻找WCF。

如果要将HTTP服务公开给广泛的客户端,请选择Web API。这些包括移动设备,iPhone和浏览器。

选择WCF的主要原因:

如果要创建支持单向消息传递,消息队列,双工通信等服务,可以选择WCF。

如果要创建使用快速传输通道的服务,可以选择WCF,例如TCP,UDP,命名管道等。

您可以在此处详细了解比较https://msdn.microsoft.com/en-us/library/jj823172(v=vs.110).aspx

但百万美元的问题是,谁是您对此API的受众?如果你想暴露,无论设备等等。那么我打赌你在谈论Http协议和WebApi是你最好的解决方案。

您可以从WebApi开始,然后您可以轻松转移到WCF;如果有的话,你需要支持任何其他平台/协议。