利用ASP.NET 2.0客户端callbacks限制postbacks

网络整理 - 08-08

从一开始,开发人员便受制于web的无固定状态这一特性。也就是,一旦某个页面被请求并加载,客户端到服务器端的连接便一直持续。AJAX动作将焦点集中于XMLHTTP对象,这个对象使得服务器间的通讯成为可能。最新版的ASP.NET(2.0)提供了自己的方式来获取服务器请求,不再要求用户参与。

无法连接

几年来,人们提出各种各样的方法来规避web应用中的无固定状态局限。主要的方法是减少页面请求或重载的数量,以避免影响用户感觉。例如,很多开发人员使用隐藏框架作为数据源,这样数据就可以很简单的发送或接收,另外,一些开发人员也选择一开始加载所有需要加载项,从而后续页面加载量就减少了。但是,在必须请求服务器端调用时就会出现问题,从而引进了AJAX组技术。AJAX利用XMLHTTP对象以及XML和客户端脚本(如javascript)来处理异步服务器调用。

ASP.NET模型

当页面被用户请求时,ASP.NET页面的默认行为开始发生并在请求的客户端加载。用户通过诸如单击按钮等各种动作来和页面进行交互。这些动作可能触发一个称为postback的服务器端调用(例如,作为动作的结果返回给请求主机的页面是重新加载的该页面的更新版)

页面返回是要付出代价的。例如,可能会丢失客户端状态,以及在和服务器通讯时可能会影响用户体验因为他们要等待通讯和页面重载。AJAX方法通过使用一台服务器辅助异步通讯来解决这些问题,且不会影响用户体验。一个类似的方法可以通过使用ASP.NET 2.0的ICallbackEventHandler接口实现。