通行证: 用户 密码 域名空间  下载中心 社区论坛 信息公告 MY小屋
联系我们
设为首页
加入收藏

 

QQ,ASP,PHP,JSP,XML,SQL,.Net,编程 程序 网页图象 建站经验 私服
首页 | 新闻资讯 | 编程开发 | 网页设计 | 图形图象 | 网络媒体 | 网站模板 | 数 据 库 | 投稿
论坛 | 操作系统 | 系统优化 | 网络安全 | 黑客技术 | 硬件学堂 | 硬件报价 | 服 务 器 | 地图
专题 | 应用软件 | 聊天通讯 | Q Q 专栏 | 建站经验 | 在线工具 | 站长Club | 注 册 表 | 旧版
社会 | 游戏娱乐 | 设计欣赏 | 疑难解答 | 社区论坛 | 韩国素材 | 素材图库 | 广告服务 | 服务
当前位置:首页>>编程开发>>AJAX>>正文 新版上线![旧版]
注:打开慢时请稍等

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

http://www.iyit.net  日期:2006-5-25 14:34:38  来源:天极   点击:
参加讨论

一、前言

人们不得不等待。事实上,用户在操作计算机时,如果等待时间超过大约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  


编辑:黑鹰 [发送给好友] [打印本页] [关闭窗口] [返回顶部]
上一篇:在AJAX开发中集成数据库技术
下一篇:Perl的Ajax实现与中文问题
转载请注明来源:www.iyit.net
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。

 相关文章
在ASP.NET中实现AJAX ASP 3.0高级编程(二) ASP 3.0高级编程(四)
ASP 3.0高级编程(六) Asp Object 之:AddHeader Asp Object 之:AppendToLog
如何写出优秀的ASP应用 Asp Object 之:BinaryWrite 在ASP程序中访问Access数据库
Asp Object 之:CacheControl ASP+Access的安全隐患及对策 Asp Object 之:Clear
ASP中数据库调用中常见错误的现象和解决 Asp Object 之:ContentType Asp Object 之:End
Asp Object 之:ServerVariables Asp Object 之:ExpiresAbsolute Asp Object 之:Flush
Asp Object 之:Form ASP初学者常犯的几个错误 ASP:网上通讯簿1.00
asp,php 和 jsp 比较 之我见 刷一次变一次图的ASP代码 在ASP网站设计中表单验证 
最新更新 热点排行 推荐新闻
怎样使用AJAX进行应用程序开发
JSON-RPC-Java 和DWR比较
DWR让Ajax如此简单
Atlas—微软的Ajax工具包
基于Ajax的应用程序架构汇总
怎样使用AJAX进行应用程序开发
JSON-RPC-Java 和DWR比较
DWR让Ajax如此简单
Atlas—微软的Ajax工具包
基于Ajax的应用程序架构汇总
AJAX案例研究之google suggest
用AJAX开发智能Web应用程序之基础篇
用AJAX开发智能Web应用程序之高级篇
WEB2.0中AJAX应用的详解
AJAX及使用E4X编写Web服务脚本
怎样使用AJAX进行应用程序开发
JSON-RPC-Java 和DWR比较
DWR让Ajax如此简单
Atlas—微软的Ajax工具包
基于Ajax的应用程序架构汇总
优秀公益广告作品欣赏(8)
java数据类型转换
Windows XP专业版IIS连接数的更改
新开放QQ免费挂级网站
优秀公益广告作品欣赏(7)
免费在QQ上看在线电影电视听音乐
WEB服务器配置全攻略(三)
QQ珊瑚虫外挂4.0版本发布!
免费把QQ炫铃设为本机QQ的系统提示音
Office2007简体中文版浮出水面 美图抢
如何在Win20003中更好的玩游戏
QQ收费头像免费使用的方法 
微软将在华推分期付款,充值卡PC 可低价
 AMD处理器AM2测试 风扇竟运行7分钟
exeplorer.exe错误的问题的总结、解决
ASP.NET 2.0 中的异步页功能应用
硬盘坏道修复及数据恢复宝典
免费登录搜索引擎入口大全
搜索引擎注册九大秘法
小心摄像头成为黑客偷窥你的眼睛
 友情链接
设置首 页 - 版权声明 - 广告服务 - 关于我们 - 联系我们 - 友情连接
Copyrights © 2004-2006 iYiT.Net All Rights Reserved.
网站合作、广告联系QQ:147007642、466949678
易特网络技术 点击这里给我发消息