最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
WEB客户端增量更新数据解决方案
时间:2022-06-30 10:39:28 编辑:袖梨 来源:一聚教程网
本文属spanzhang原创,其blog地址为:http://blog.111com.net/spanzhang。引用或转贴请注明出处,谢谢!!
以展现数据为主要任务的网页,如股票类的网页,多希望能实时展现数据库里的数据。流行的解决方法是将数据做成xml格式,浏览器隔一段时间取一次该xml数据,然后更新到网页上。一种是使用Microsoft.XMLHTTP来从服务器上GET数据,另一种是用MSXML2.DOMDocument来load服务器上的数据。这两种方法都差不多,都是走的XML路线。【孟子E章】对这种模式写过很多文章,这里就不讨论了。我这里重点在于阐述数据的增量更新过程。
假设我们的数据是一个二维的关系数据,并且每一行都有一个主键唯一标示。WEB服务器在Application_Start里开始一个服务器时钟(System.Timers.Timer),每隔一段时间更新一次数据。服务器提供给客户端的xml数据包含两个文件,一个是当前版本的所有数据(all.aspx),另一个是当前版本和上一版本的增量数据(delta.aspx)。源代码如下:
all.aspx文件:
<%@ Page language="c#" %>
<%
Response.Expires = 0;
Response.ContentType = "text/xml";
Response.Charset = "UTF-8";
%>
<%
System.Data.DataTable dt = sm_web.Logic.dt_all;
%>
<%
if(dt != null)
{
for(int i=0;i {
%>
其中,sm_web.Logic.dt_all和sm_web.Logic.dataVersion均为静态变量。所生成的xml数据示例如下:
delta.aspx文件:
<%@ Page language="c#" %>
<%
Response.Expires = 0;
Response.ContentType = "text/xml";
Response.Charset = "UTF-8";
%><%=sm_web.Logic.changedXml%>
以展现数据为主要任务的网页,如股票类的网页,多希望能实时展现数据库里的数据。流行的解决方法是将数据做成xml格式,浏览器隔一段时间取一次该xml数据,然后更新到网页上。一种是使用Microsoft.XMLHTTP来从服务器上GET数据,另一种是用MSXML2.DOMDocument来load服务器上的数据。这两种方法都差不多,都是走的XML路线。【孟子E章】对这种模式写过很多文章,这里就不讨论了。我这里重点在于阐述数据的增量更新过程。
假设我们的数据是一个二维的关系数据,并且每一行都有一个主键唯一标示。WEB服务器在Application_Start里开始一个服务器时钟(System.Timers.Timer),每隔一段时间更新一次数据。服务器提供给客户端的xml数据包含两个文件,一个是当前版本的所有数据(all.aspx),另一个是当前版本和上一版本的增量数据(delta.aspx)。源代码如下:
all.aspx文件:
<%@ Page language="c#" %>
<%
Response.Expires = 0;
Response.ContentType = "text/xml";
Response.Charset = "UTF-8";
%>
<%
System.Data.DataTable dt = sm_web.Logic.dt_all;
%>
if(dt != null)
{
for(int i=0;i
%>
" b="<%=dt.Rows[i]["b"]%>" c="<%=dt.Rows[i]["c"]%>" d="<%=dt.Rows[i]["d"]%>"/><%
}
}
%>
其中,sm_web.Logic.dt_all和sm_web.Logic.dataVersion均为静态变量。所生成的xml数据示例如下:
delta.aspx文件:
<%@ Page language="c#" %>
<%
Response.Expires = 0;
Response.ContentType = "text/xml";
Response.Charset = "UTF-8";
%>
相关文章
- 《潜行者2:切尔诺贝利之心》游戏车辆使用推荐 11-22
- 《潜行者2:切尔诺贝利之心》挡路的特异点处理方法介绍 11-22
- 《潜行者2:切尔诺贝利之心》开局获得满强AK方法介绍 11-22
- 《潜行者2:切尔诺贝利之心》军用防弹背心获得方法介绍 11-22
- 《潜行者2:切尔诺贝利之心》防毒面具获得方法介绍 11-22
- 《潜行者2:切尔诺贝利之心》开局捡尸体摸尸注意事项分享 11-22