Web API RPC与WCF和JSON

Web API RPC与WCF和JSON,json,rest,wcf,asp.net-web-api,asp.net-web-api2,Json,Rest,Wcf,Asp.net Web Api,Asp.net Web Api2,我一直在研究在创建web服务时使用哪种协议/技术堆栈,我想得到一个到目前为止还没有的明确答案 基本上,我的问题是Web API(可能更多地用作RPC样式,而不是REST)和暴露JSON端点的WCF之间的区别是什么 是否应该加入客户端技术(WPF与HTML/JS)呢 我知道WCF有很多配置选项,可以在web.config或app.config中设置,这意味着它也可以托管在Windows服务甚至控制台应用程序中。这意味着无需重新编译即可更改配置。Web API也可以这样说吗 此外,我的许多GET操作

我一直在研究在创建web服务时使用哪种协议/技术堆栈,我想得到一个到目前为止还没有的明确答案

基本上,我的问题是Web API(可能更多地用作RPC样式,而不是REST)和暴露JSON端点的WCF之间的区别是什么

是否应该加入客户端技术(WPF与HTML/JS)呢

我知道WCF有很多配置选项,可以在web.config或app.config中设置,这意味着它也可以托管在Windows服务甚至控制台应用程序中。这意味着无需重新编译即可更改配置。Web API也可以这样说吗

此外,我的许多GET操作都依赖于获取一个“Filter”对象,该对象包含用于搜索数据的选项,因此典型的“api/{controller}/{action}/{id}”格式无法将其剪切

我意识到这可能是一个基于观点的问题,但我追求的是两种选择之间的事实,而不是观点或偏好

提前感谢,,
斯蒂芬有一个很好的解释

基本上,这取决于你需要它做什么。如果您只是想要简单的服务,那么WebAPI就是一种选择。如果您需要使用REST、SOAP、JSON从一个服务提供多个端点,或者使用TCP提供更多与性能相关的服务,那么WCF就是一个不错的选择