【问题标题】:asp.net mvc 4 webapi advantage over traditional asp.net mvc 3 ajax callasp.net mvc 4 webapi 优于传统的 asp.net mvc 3 ajax 调用
【发布时间】:2012-09-21 20:24:30
【问题描述】:

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

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

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

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

谢谢

【问题讨论】:

  • 我建议阅读一个很好的 WebApi 介绍。关于 WebApi 以及返回 Web 服务结果比返回 json 的 MVC 操作更好的方法太多了。试试这个stephenwalther.com/archive/2012/03/05/…
  • 不要忽视自托管作为 Web API 的优势。你不能用 MVC 做到这一点。

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


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-04-26
    • 1970-01-01
    • 2012-10-23
    • 2011-06-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多