论坛登陆 注册 文章专区 笑话频道 影视频道 投稿文章 旧版浏览
首页 | 页界资讯 | 网络应用 | 软件应用 | 组网技术 | 网络原理 | 聊天通讯 | 网管知识 | 帮助
笑话 | 操作系统 | 注 册 表 | 编程开发 | 数 据 库 | 媒体动画 | 网页设计 | 图形图象 | 地图
论坛 | 网络安全 | 安全防范 | 服 务 器 | 硬件学堂 | 路由技术 | 搜索研究 | 站长经验 | 投稿
影院 | 教育频道 | 特色专题 | 精文荟萃 | 注 册 码 | 论坛社区 | 网站地图 | 广告服务 | 旧版
设为首页 加入收藏
当前位置:首页>>文章>>编程开发>>AJAX>>正文

AJAX+ASP.NET解决网页打开等待问题

www.xker.com 作者:不详 来源:天极 加入日期:2006-1-10 8:24:50

【问题提问、论坛交流】

一、前言

人们不得不等待事实上,用户在操作计算机时,如果等待时间超过大约200毫秒,他们一般都感到厌烦当你的基于万维网的应用程序使用一个需要耗费许多秒甚至几分钟的进程时,这可能成为一个问题显然,你不可能仅通过建立一个进度条对话框或一等待光标就算万事大吉

幸好,ASP.NET为此提供了一些不同的解决方案来处理这种相当耗时的进程-具体情况要依赖于要求的交互级别和你愿意处理的复杂程度本文首先通过一个示例应用程序来说明这个问题并且通过两种方案来运行:一种使用了简单查询技术,而另一种使用一种更高级的AJAX解决方案

千万警惕,在.NET框架中已发现存在一些错误的方式其中之一就是IAsyncHTTPHandler-乍看来,它似乎有助于较长网页的请求然而,这个异步HTTP处理器却是被设计用来释放处理器的-尽管,此时在一页面之上的某些任务需耗费一些时间但是并不需要任何CPU一个好的例子就是在一页面的中间发出Web请求在这种情况中,异步HTTP处理器是很有效率的

二、问题

在本文中,我要讨论一个不同的问题在本示例应用程序中,我创建了一个页面-它用于为五个不同的机场报告当前的温度、风级和另外一些天气信息Web服务要花费大约五秒钟来取得每一项数据因此,如果我让该页面如图1所示运行,那么在服务器返回一页面前要花费大约一分钟-这对于任何用户都是无法接受的等待时间



图1.等待:最开始的示例应用程序大约需要一分钟来加载页面

这个相当耗时的页面相应的HTML显示于列表1中

页面装载事件代码为数据格子创建一个数据集然后,迅速处理多个机场并且调用该web服务以得到数据然后,该方法把数据从web服务填充到该数据集并且把它依附于一个格子控件(见图2)



图2.基本的:该示例应用程序的Web服务执行一简单的天气状况查询

这个web服务的WSDL是http://www.capeclear.com/AirportWeather.wsdl它定义了许多不同的方法,我将仅使用其中的一个getSummary方法-它返回一个包括机场的位置、天空条件、风速、可见性甚至更多的数据块

用这种方式,即使单个服务器请求也要比单个页面取回消耗更多的时间另外一种选择是让一个线程运行于后台来取得数据,而由前端页面连续地监视该线程的输出

三、线程解决方案

线程解决方案提供给用户一种更为干净的体验-因为它们可以周期性地得到处理的更新这里的响应是很容易准备的,尽管在后台的处理可能花一些时间,但是作为响应却可以马上返回

为处理此线程系统,我将使用两个类和一个接口JobHandler singleton负责维持一个对象集合-它实现IJob接口这个JobHandler管理系统线程每添加一个工作创建一个新线程,并且该工作上的Start方法在一个新线程内被调用一个被用于后面查询工作的ID字符串被返回

该Job系统相应的UML显示于图3



图3.这个屏幕快照显示出该Job系统相应的UML

WeatherJob是一个Ijob的实现-它负责从机场中的一个指定集合进行天气查询并且填充一个称作Data的包含天气报告的DataSet

该JobHandler singleton相应的代码显示于列表2(详见下载源代码)-相当直接唯一有趣的一点是AddJob方法,它为该工作创建一个新的线程并调用Start方法

本新闻共2页,当前在第1页  1  2  

编辑:xker.com

上一篇:Perl的Ajax实现与中文问题
下一篇:在AJAX开发中集成数据库技术
关闭窗口】【浏览次数:】【发送给好友】【收藏此页
相关文章
·AJAX的七宗罪·Ajax技术文档·AJAX技术汇总
·Ajax技术简介·Ajax程序设计入门·Ajax基础教程
·Ajax的错误处理机制探讨·AjaxTags标记·AJAX处理书签和翻页按扭的方法
·使用AJAX异步获取数据·AJAX技术开发“Back”按钮问题的应用·结合Direct Web Remoting使用AJAX
·在AJAX开发中集成数据库技术·Ajax技术:构建动态的Java应用程序·Ajax 的 Java 对象序列化
推荐文章 最新文章 热门文章
·AJAX及使用E4X编写Web服务脚本
·关于ASP,ASP.NET,VB.NET里的MD5加密函
·Visual C#常用函数和方法集汇总
·硬盘故障软修理技巧解决方法 
·网吧使用电脑必看5点安全技巧
·在VC++应用程序中实现颜色选择组合框
·确保信息:系统备份和恢复完全解决方
·Win XP最关心的几个问题及解决
·图文:Windows平台上jsp虚拟主机环境的
·你再有钱也得算计!装机最贵与免费的
·打造完美Linux系统:多种疑难杂症的解
·Oracle SQL 内置函数大全
·“一键GHOST”傻瓜式系统备份与恢复
·Win2000中DLL文件报错或丢失的解决方
·C++之父Bjarne谈C++中的STL模板
·AJAX的七宗罪
·Ajax/Amowa框架中国造 Buffalo 1.2近
·XMLHttpRequest和AJAX入主Web开发
·AJAX框架JSON-RPC-Java 1.0rc2 发布
·基于Ajax的Web框架Echo2 2.0 正式发布
·AJAX 弄潮Web 2.0 在线Office项目复活
·MyEclipse 4.1 将支持AJAX
·AJAX/XUL Web框架新工具-ZK发布
·驳“AJAX 的七宗罪
·Ajax,未来的WebServices?
·Ajax驱动的Web站点
·微软推出Ajax工具包
·微软推新网页开发框架 应对Firefox支
·AJAX与微软的新方案
·将java和Ajax结合在一起
·个人简历表格
·免费代理IP(每日更新)
·QQ密码丢失后能做的事情:快速找回密码
·WinRAR 3.51 注册码
·Norton AntiVirus 2006 注册码(激活
·系统优化 专题
·史上最强QQ个人档案资料欣赏
·找回QQ密码的注意事项 
·最经典的黑客入门教材
·求职简历封皮
·怎样查找对方的IP地址
·应届毕业生求职信
·2005最新最全注册码集中营(11月更新)
·FlashFXP 3.3.1 build 1089注册码
·ACDSee v8.0注册码
评论 本站声明
会员名称:
密码:匿名 ·注册·忘记密码?
评论内容:
(最多300个字符)
  查看评论
【注】 发表评论必需遵守以下条例:
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款
  • 本站大部分为网络转载,如有版权问题,请通知我们,我们立即更正!

设为首页 - 版权声明 - 广告服务 - 关于我们 - 联系我们 - 友情连接
Copyright © 2003-2006 xker.com All rights reserved. 网站合作、广告联系QQ:12231446
小新技术网 冀ICP备05002857号