asp.net mvc 4 webapi优于传统的asp.net mvc 3 ajax调用

时间:2012-09-30 22:17:26

标签: asp.net-mvc-3 asp.net-mvc-4 asp.net-web-api

我正在测试来自asp.net mvc 4的新web api,我没有看到比现有asp.net mvc 3的当前动作控制器调用更多的优势。

来自mvc 3的

动作控制器可以像web api一样返回json。

我有2个关于网络API的问题:

  1. 我们何时应该使用web api而不是标准动作控制器jsonresults?
  2. 我们如何保护网络API,并允许访问不同的平台(授权移动应用,其他网站)?
  3. 由于

1 个答案:

答案 0 :(得分:9)

您将苹果与橙子进行比较。 Web Api框架已被开发为WCF或其他基于ASP .Net服务的技术的可行替代品。 Web Api框架并不是MVC的替代品。回答你的问题

  1. 如果您没有暴露您的API或者没有在您需要服务的环境中工作(例如,SOA支持移动设备和/或不同的操作系统),您可以使用MVC控制器的标准操作控制器json结果。事实上,没有理由不能将“标准”MVC控制器JSON结果用于移动设备或不同的操作系统,但Web API暴露了额外的有用功能,如内容协商和更好的HTTP动词处理,这使得它在SOA中更有用环境。
  2. 使用自定义操作过滤器保护MVC应用程序的方式与授权操作过滤器的扩展或完全定制的操作过滤器相同。在过滤器中,您可以轻松检查白名单的IP地址或检查当前Http请求的用户代理。