代码之家  ›  专栏  ›  技术社区  ›  Manu JCasso

在提供ajax内容方面,web服务比web页面有什么优势吗?

  •  2
  • Manu JCasso  · 技术社区  · 17 年前

    7 回复  |  直到 17 年前
        1
  •  2
  •   Austin    17 年前

    在进行AJAX调用时,您可能需要研究页面方法。使用ASP.NET页面方法,您可以使用javascript调用代码中存在的服务器端函数,而无需页面生命周期的开销,因为该方法必须是静态的。有关页面方法的更多信息,请查看

    http://www.singingeels.com/Articles/Using_Page_Methods_in_ASPNET_AJAX.aspx

    如果您想从多个页面中的方法访问功能,请考虑使用Web服务——您可以使用类似的方式使用微软Ajax JavaScript库连接它。

        2
  •  0
  •   cfeduke    17 年前

    Web服务是标准化的,因此您可以从使用它们中获得某些优势,至少在Microsoft开发平台方面是这样。您可以将Visual Studio指向ASMX,以将外部web服务的引用添加到您的项目中—虽然我相信您可以从*.aspx页面获得相同的结果,但与*.aspx页面(页面生命周期、视图状态)相关联的开销也很大。

    如果有人在你身后维护你的代码,他们可能会看到一个*.aspx“web服务”并搔搔头。

        3
  •  0
  •   Jason Bunting    17 年前


    更新:你能澄清一下吗?你说的是典型的ASP.NET页面吗?还是“经典”ASP?正如有人在对这个答案的评论中指出的那样,如果我们谈论的是“经典”ASP,那么它将比ASP.NET页面更简单,但我认为这是不言而喻的。。。

        4
  •  0
  •   Paige Watson    17 年前

    我认为答案最终取决于你对这个网站所做的事情。如果您有跨多个页面或组件使用的功能,那么最好编写一个web服务来完成这项工作。

    此外,根据您使用的AJAX库/代码,web服务可能工作得更好。请记住,web服务不需要是单独的站点,但可以是放置在当前站点结构中可访问位置的.asmx页面。

    尽管如此,您可以使用后台页面,但通常使用web服务对于代码重用和跨站点数据处理更为实际。

        5
  •  0
  •   kgiannakakis    17 年前

    jQuery有一个方便的getJSON函数来读取服务器的响应。

        6
  •  -1
  •   James Curran    17 年前

    我看不出来。这一切都只是http流量来回移动。

        7
  •  -1
  •   mspmsp    17 年前

    这取决于您用于执行AJAX调用的库。无论采用何种机制,直接从调用中获取JSON甚至更好的反序列化对象都很好。解析SOAP是一件你不必担心的琐事。这就是说,重要的是要匹配流入和流出的东西,这将首先影响我的选择。(根据各种经理/架构师/etc可能会放弃的限制。)