REST调用来自Javascript VS ASP.NET控制器REST调用

时间:2012-11-30 09:51:14

标签: javascript asp.net-mvc rest controller

我是REST世界的新手。我正在编写一个ASP.NET MVC应用程序。我的要求是从客户端进行一些REST调用。我可以选择从Javascript进行这些REST调用,或者我可以在Controller中的C#代码中执行此操作。推荐哪种方法?根据我的理解,Controller在Web服务器上运行,Javascript在浏览器上运行。如果REST调用是从Web服务器调用的,那么是否存在性能下降。

有人可以建议我这方面的一般做法吗?是否有相同的安全问题?

由于

2 个答案:

答案 0 :(得分:1)

让我们考虑一下这个服务器端的优缺点

优点:

  • 您可以使用服务器的强大功能对数据进行其他处理
  • 您不会像在ajax中那样受到跨域限制
  • 一般来说,您不必担心您的服务器能够访问该资源,而在客户端,您受到用户网络限制,防火墙等的支配。
  • 更好地控制您的http响应\请求生命周期

CONS:

  • 您必须消耗更多带宽,将结果数据发送到客户端。
  • 您可能需要做更多工作才能利用良好的缓存实践
  • 取决于拥有某些服务器端库\ framework元素

现在虽然我们有一个更大的优点列表而不是缺点...在大多数情况下你仍然希望在客户端上这样做...因为双重处理数据的问题实际上是一个非常大的问题,并且会耗费你的时间和金钱。

如果您需要对数据进行大量处理,或者您无法规避CORS(跨域)限制,那么您实际应该在服务器端执行此操作的唯一原因。

如果你只是做一些简单的事情,比如在网页上显示信息,那么客户端就更好了。

答案 1 :(得分:0)

这在很大程度上取决于你的情况。如果您在页面中简单地显示此数据而没有任何操作,您可以从javascript获取它。如果您想使用这些数据,转换它,将其与其他数据连接,否则,我建议在服务器上执行此操作,以便在服务器上获取此数据。