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

dtj*_*msy 1 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个关于web api的问题:

  1. 什么时候我们应该使用web api而不是标准的动作控制器jsonresults?
  2. 如何通过不同的平台(授权移动应用程序,其他网站)授予访问权限来保护网络API?

谢谢

hea*_*150 9

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

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