AspQ 是一种小巧的 JavaScript 对象,它是嵌入在 ASP.NET 中的 JavaScript 和 AJAX 运行时,可以用来处理多次 Postback,而.NET 框架不处理这个问题。它将所有的同步和异步 Postback 请求组成队列,这么做不造成任何干扰,然后按照事件顺序应用更新。
一些开发者发布了各种各样的服务端和客户端实现来处理多次 Postback。但作为开发者,你需要有很深入的领域知识以理解实现方案。
下载 JavaScript源码文件(AspQ.js)并保存到网站的脚本目录之后,你就可通过两种不同的方式操作 AspQ。首先包含下面这段代码
script type=“text/javascript” src=“AspQ.js”>
将下面这段服务端代码添加到你的 System.Web.UI.Page 的 OnInit 方法中
form runat=“server” onsubmit=“return AspQ.submit(this)”>
开发者在项目的官方网站和他的博客上还提供了操作AspQ 的另外一种实现。
AspQ 的开发者 Sandro Magi 说:我发布 AspQ,是因为没有 ASP.NET 多次 Postback 问题的参考解决方案。使用 AspQ 之后,你可能看不到有性能提升,除非在你的用户工作流中,多次 Postback 继续工作前不再需要等待异步请求完成。
查看英文原文: Handle Multiple Postbacks with AspQ
感谢侯伯薇对本文的审校。
给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。
评论