1

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

来自 mvc 3 的动作控制器可以以与 web api 非常相似的方式返回 json。

我有 2 个关于 web api 的问题:

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

谢谢

4

1 回答 1

9

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

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