ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 用 ASP.NET Callback 和 JavaScript 高速访问数据库

用 ASP.NET Callback 和 JavaScript 高速访问数据库

原创 Linux操作系统 作者:iDotNetSpace 时间:2009-02-11 16:35:22 0 删除 编辑

透过 ASP.NET 的 Client Callback 技术,可让 JavaScript. 和 .NET 直接作沟通,并以远远远远快于 UpdatePanel 控件的速度,高速执行 Web 应用程序。本帖提供一个 ASP.NET Callback 的示例下载,仅用极少的代码,实现类似 Google 的实时关键词查询,且性能超优,程序的响应速度有如 JavaScript. 般地快速。


看到本帖的摘要,您可能会觉得 Callback 技术相当惊人,确实,其数据传输量、执行速度,都远远比 ASP.NET AJAX 的 UpdatePanel 控件要优秀。若您用一些网络监控工具观察 ,会看到在许多情况下,Callback 在网络中传送的数据量,甚至比 UpdatePanel 控件要少了数十倍甚至上百倍。

但 Callback 是 ASP.NET 2.0 就已推出的旧技术,甚至可说它只是在微软 AJAX Framework 出来前的一套过渡技术。其功能及函数极有限,因此并不适合开发较复杂的应用。因此就开发方便性而言,其远不如 ASP.NET AJAX 控件,以及 UpdatePanel 控件来得方便。但不可否认的,在某些应用较单纯,且需要高性能、快速响应的页面,Callback 仍是相当不错的选择。

本帖提供两个简易示例下载,第一个示例,可在 TextBox 的 OnBlur、OnKeyup 等 JavaScript. 事件被触发时,查询 SQL Server,且 Onkeyup 可达成如同 Google 般的实时 key-in 查询效果;第二个示例,则改成透过 Button Click 才会查询数据库。

-------------------------------------------------
本帖的示例代码下载点:
http://files.cnblogs.com/WizardWu/090208.zip

(执行本示例,需要 SQL Server 的 Northwind 数据库,以及 IIS 或 VS 2008)
-------------------------------------------------

 


图 1 一离开 TextBox 时 (OnBlur),会用极快的速度查询数据库

 

如同版工在之前的「网站性能越来越差怎么办? 」一文,以及下面这篇文章所提到的:

UpdatePanel 提示和技巧 (MSDN Magazine, 2007/6):
http://msdn.microsoft.com/zh-cn/magazine/cc163413.aspx


微软为了达成 AJAX 的使用方便性,而牺牲了许多性能,让 UpdatePanel 控件运作得相关没有效率,因其用 ViewState 保存了大量的页面状态。反观 Callback 技术虽然速度快 ,网络传输量远比 UpdatePanel 控件少,但其缺点为功能过于阳春、开发不便;且版工我还发现一个缺点,就是在其 RaiseCallbackEvent 方法中,会让 Response.Write、 JavaScript. 的 alert 失效,导致捕捉到的错误信息,无法显示在页面上让程序员和用户知道。

另听说在 ASP.NET 4.0 时,UpdatePanel 控件的 Render 方式会有新的改进,可以只 Render 特定的页面字段值,会比 Partial Rendering 聚焦到更小的区块。在这之前,若您的页面需要以特优的性能实现简单的功能,如本帖的示例,Callback 仍是个不错的选择。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12639172/viewspace-545678/,如需转载,请注明出处,否则将追究法律责任。

上一篇: ASP.NET中初试Ajax
请登录后发表评论 登录
全部评论

注册时间:2008-01-04

  • 博文量
    2376
  • 访问量
    5355291