REST WCF与Web API的区别

3
我阅读了一些文章并搜索了很多关于Rest WCF vs Web api的区别,但我只发现了WCF vs Web api的区别,我发现了一些区别:

WCF Rest=> a) 支持通过[WebGet]和[WebInvoke]属性使用HTTP GET和POST动词。 b) 要启用其他HTTP动词,必须在IIS中进行一些配置,以接受该特定动词的请求。 c) 通过WebGet传递数据需要进行配置。必须指定UriTemplate。 d) 它支持XML、JSON和ATOM数据格式。

WebApi=> a) 与WCF Rest服务不同,它使用HTTP的全部功能(如URI、请求/响应头、缓存、版本控制、各种内容格式)。 b) 响应由Web API的MediaTypeFormatter格式化为JSON、XML或您想要添加为MediaTypeFormatter的任何格式。

我想知道它们之间的其他区别,以及什么时候最好使用WebApi和什么时候使用Rest Wcf

2个回答

0
我认为,如果你要开始一个新项目并需要在.NET中公开REST Web接口,Web API是最好的选择,因为据我所知,WCF已经被弃用了。只有当你必须同时公开SOAP和REST Web接口时,我才会考虑使用WCF Rest。

WCF 没有 被弃用。 WCF 是 ASMX 和 .NET Remoting 的替代品。 WebAPI 通常是RESTful服务的首选方式,但对于SOAP或.NET Remoting的替代方案,WCF是首选框架。 - Tim
@Tim 这意味着对于 ReSTful 服务,WCF REST 已经被弃用。 - pejman
@Martin Brandy,您在这里的意思是什么:“如果您必须同时公开SOAP和REST Web接口。”,这只涉及数据格式吗? - pejman
我的意思是,如果您需要为您的服务公开SOAP和REST接口,那么我会考虑使用WCF... - Martin Brandl

0

WCF并不是REST的最佳选择,因为它并不是为此而设计的,在实现时使用了许多糟糕的技巧。你可以看到他们如何尝试将XML转换为JSON 这里

WCF并没有被弃用,它非常强大,没有任何框架可以与之相比。但它并不适用于REST。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接