【发布时间】:2010-12-04 15:00:13
【问题描述】:
我正在构建一个动态的部分加载 asp.net 页面,我想使用 jQuery 调用页面方法或 Web 服务来检索内容 HTML。
页面方法或网络服务,性能方面,哪种方式更好?
如果我在服务器端调用页面方法,页面是否会经历完整的生命周期?
有什么好的资源可以帮助我更好地理解页面方法吗?
【问题讨论】:
标签: asp.net jquery ajax web-services pagemethods
我正在构建一个动态的部分加载 asp.net 页面,我想使用 jQuery 调用页面方法或 Web 服务来检索内容 HTML。
页面方法或网络服务,性能方面,哪种方式更好?
如果我在服务器端调用页面方法,页面是否会经历完整的生命周期?
有什么好的资源可以帮助我更好地理解页面方法吗?
【问题讨论】:
标签: asp.net jquery ajax web-services pagemethods
您无需ScriptManager 控件即可调用 PageMethods 和 Web 服务(它会生成 JavaScript 代理对象,允许您使用熟悉的语法来调用 Web 服务和页面方法)。
using jQuery to directly call ASP.NET AJAX page methods上的文章
using jQuery to Consume ASP.NET JSON Web Services上的文章
这是MSDN article from 2007 on Web Services and Page Methods。简要地看一下,它似乎仍然与它们的工作方式/今天让它们工作需要做什么有关。
性能方面:
您可能期望页面方法提供 性能优于 Web 服务。 毕竟要解决Web服务 调用,ASP.NET 运行时必须 解析 SOAP 数据包。然而,这 不完全正确。 ASP.NET AJAX 安装一个定制的 HTTP 处理程序 (参见图 3),它拦截所有 ASMX 请求。带有 /js 的请求 后缀的处理方式不同, 直接使用 JSON 有效负载 和Web服务方法。因此, 不涉及任何 SOAP,并且 请求正文仅包含 输入参数的 JSON 流。 对于非 AJAX 请求,新的 HTTP 处理程序只是委托回调 到原来的 ASP.NET 处理程序 了解 SOAP。
为了响应页面生命周期,页面方法不通过服务器端页面生命周期(也有一个client-side Page Lifecycle)。
【讨论】:
【讨论】: