我正在构建一个动态部分加载的asp.net页面,我想使用jQuery调用页面方法或Web服务以检索内容HTML。
就性能而言,页面方法或Web服务哪种方式更好?
如果我调用页面方法,在服务器端,页面是否经历完整的生命周期?
有没有好的资源可以帮助我更好地理解页面方法?
我正在构建一个动态部分加载的asp.net页面,我想使用jQuery调用页面方法或Web服务以检索内容HTML。
就性能而言,页面方法或Web服务哪种方式更好?
如果我调用页面方法,在服务器端,页面是否经历完整的生命周期?
有没有好的资源可以帮助我更好地理解页面方法?
您可以调用PageMethods和Web服务而无需使用ScriptManager
控件(该控件生成JavaScript代理对象,允许您使用熟悉的语法调用Web服务和页面方法)。
关于使用jQuery直接调用ASP.NET AJAX页面方法的文章。
关于使用jQuery消耗ASP.NET JSON Web服务的文章。
这里有一篇2007年的MSDN文章关于Web服务和页面方法。简要浏览后,它似乎仍然与它们的工作方式/您需要做什么才能使它们正常工作相关。
性能方面:
你可能期望页面方法比Web服务提供更好的性能。毕竟,为了解决Web服务调用,ASP.NET运行时必须解析SOAP数据包。然而,这并不完全正确。ASP.NET AJAX安装了一个量身定制的HTTP处理程序(参见图3),拦截所有ASMX请求。带有/js后缀的请求以不同的方式进行处理,直接使用JSON有效负载和Web服务方法进行工作。因此,根本没有涉及SOAP,请求体只包含输入参数的JSON流。对于非AJAX请求,新的HTTP处理程序只是将调用委托回理解SOAP的原始ASP.NET处理程序。 响应页面生命周期,页面方法不会经过服务器端页面生命周期(也有客户端页面生命周期)。这里有一个很好的资源供您参考:
http://tugberkugurlu.com/archive/asp-net-web-forms---calling-web-service-page-methods-using-jquery
本博客文章将带您了解。