请不要"他们解决2个不同的问题"答案,这是相同的HTTP请求和响应问题.仅仅因为你在MVC中有视图/模板并不意味着你必须使用它们.M_C足以提供XML和JSON.
请不要"这是微软说你应该做的"答案.如果我这么想,我不会问这个问题.
MVC应用程序中有更多的开销.由于您在提供其他服务(不是搜索引擎优化敏感)时并不真正"需要"重写Url,或者不需要Google机器人来了解重要内容,因此您不需要 - 因此不需要路由开销.
核心MVC功能所需的ASP.NET MVC程序集包含特定于视图的方法,从而使它们更大.如果您的唯一目的是提供JSON/XML,则无需使用扩展方法来创建文本框,复选框等.
为WCF服务进行单元测试也是一项更容易的任务,因为您不需要使用模拟控制器,模拟上下文等等.(给出JSON响应是您提供的唯一内容)
所以底线 - 除非你想为comsumer提供某种类型的GUI和JSON数据,否则不必使用ASP.NET MVC来提供JSON数据.
一个首字母缩略词浮现在脑海中:KISS.:)