欢迎来到天天文库
浏览记录
ID:35476305
大小:67.71 KB
页数:16页
时间:2019-03-25
《[中学]web页面实时刷新技术探讨》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、Web页面实时刷新技术探讨一、总述随着网络技术的飞速发展,使用B/S结构來实现项目应用已经越來越多,而实时监控一直都是多数行业软件所必备的功能,由此使用Web页面来实现实时监控成了一种必然的需求。二、实吋刷新技术1、传统的页面刷新方式传统的页面刷新方式很多,常见的有页面间隔一定的时间口动刷新、ActiveX控件、Applet等。采用页面间隔一定的时间自动刷新的方式,是在网页的头部加入一下代码:这里是经过20秒跳转到一个新页面,可以将"newPage”设置为本
2、页面即为刷新本页面,刷新间隔时间可以修改“20”为任意时间。通过这种方式如果并发和访问量较大,服务器就有可能承受不了这种压力,从而造成服务器死机。使用ActiveX控件的方式需要每个客户端下载安装ActiveX控件,并且客户端浏览器只能使用Windows的IE浏览器。同样使用Applet需要客户端安製Java运行时。这些传统的页面刷新方式都或多或少的存在着一些确定,在Web项Fl应用中的使用也越来越少。2、Ajax轮询Ajax轮询方式是使用客户端脚本,通过XMLHttpRcquest来定时发送请求,从而查询页面数据的更新情况。通过这种方式,程序实现方便简捷
3、,但客户端频繁的发送请求会给服务器带来很人的压力和客户端处理器负载,如果服务器端没冇更新时,这种轮询访问服务器便是无意义的,并月•耗费了网络资源与CPU处理资源。实例说明:服务器端通过手动控制按钮产生一张图片,客户端显示最新图片及图片的信息内容。服务器端通过一个按钮btnGet产生图片,按钮事件代码如下所示。代码清单1:protectedvoidbtnGetClick(objectsender,EvenlArgse){〃通过改写一张父图片上的文字来产生新图片System・Drawing・Imageimtige二System・Draiwing・Image・F
4、romFile(HttpContext・Current.Server・MapPsth("parenl・jpg"));stringcurrTime=System.DaleTime.Now.ToString(z,yyMMddHHmmssffffff^);Graphicsg二Graphics・Fromlnkige(image);g・Draw[mage(image,0,0,image・Width,imtige・Height);g・DrtiwString(currTime,newFont("Arial",28),newSolidBrush(Color.Red),10
5、,10);g.Dispose();stringsavePath二"Pic/"+currTime+"・jpg";image・Stive(HltpContexl・Current・Server・MapPath(savePath));〃将最新图片文件名写入到XML文件中XmlDocumentxmlDoc二newXmlDocument();xmlDoc.Lotid(HttpContext.Current.Server.MapPath("newPic・xml"));XmlNodeListnodeList二xmlDoc・SelectSingleNode("Items")
6、・ChildNodes;XmlElementelement=(XmlElement)nodeList[0];element・SetAttribute(^code^,currTime);xmlDoc・Save(HttpContext・Current.Server・MapPathCnewPic・xml"));)显示图片页面通过两个页面分别显示图片信息与图片内容,显示图片页面内容如下所示。代码清单2:7、Apequiv="Content-Type"content=/ztext/html;Charset=gb2312z,/>varxmlllttp;functionCreateXMLIIttp(){if(window.XMLIIttpRequest){xmlHttp=newXMLHttpRequest();}elseif(window.ActiveXObject){try{xmlllttp=newActiveXObject("Msxml2・XMLHTTP");}catch(e){try{xmlll8、ttp=newActiveXObject(^Microsoft.X
7、Apequiv="Content-Type"content=/ztext/html;Charset=gb2312z,/>varxmlllttp;functionCreateXMLIIttp(){if(window.XMLIIttpRequest){xmlHttp=newXMLHttpRequest();}elseif(window.ActiveXObject){try{xmlllttp=newActiveXObject("Msxml2・XMLHTTP");}catch(e){try{xmlll
8、ttp=newActiveXObject(^Microsoft.X
此文档下载收益归作者所有