我阅读了一些文章,我搜索了很多Rest WCF vs Web api
之间的差异,但我发现WCF vs Web api
之间存在差异,我发现有些不同:
WCF Rest => a)它分别通过[WebGet]和[WebInvoke]属性支持HTTP GET和POST动词。 b)要启用其他HTTP谓词,您必须在IIS中进行一些配置,以接受.svc文件上该特定谓词的请求。 c)使用WebGet通过参数传递数据需要配置。必须指定UriTemplate。 d)它支持XML,JSON和ATOM数据格式。
和
的WebAPI => a)与WCF Rest服务不同,它使用HTTP的全部特性(如URI,请求/响应头,缓存,版本控制,各种内容格式)。 b)响应由Web API的MediaTypeFormatter格式化为JSON,XML或您想要添加为MediaTypeFormatter的任何格式。
我想了解它们之间的其他差异,何时使用WebApi
和何时Rest Wcf
更好?
答案 0 :(得分:0)
我想说,如果你开始一个新项目而你需要在.NET中公开一个REST Web界面,那么 Web API就是的原因,因为AFAIK,WCF已被弃用。如果必须公开SOAP和REST Web界面,我只会考虑使用WCF Rest。
答案 1 :(得分:0)
WCF不是REST的好选择,因为它不是为它做的,当它们实现它时,它们做了很多糟糕的黑客攻击。你可以看到他们如何尝试将xml转换为josn here
WCF NOT 已弃用,功能强大,尚无框架可与之相媲美。但它不适用于REST。