asp.net开发
请问各位大虾,要想每格几秒钟向数据库某表获取多个数值(60个以内)送回到页面显示,最好应该怎么处理。
本人用大概如下方法获取数值,但效果不是很好,数据库的连接数总是居高不下:
var xmlHttp;
function Get_pl()
{
try
{
createXMLHttpRequest();
xmlHttp.onreadystatechange = Set_pv;
xmlHttp.open("POST","Pv.aspx?type=tm&pk=A",true);
xmlHttp.send(null);
}
catch(e)
{
window.alert(e);
}
}
function createXMLHttpRequest()
{
try
{
if (window.ActiveXObject)
{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else if (window.XMLHttpRequest)
{
xmlHttp = new XMLHttpRequest();
}
}
catch(e)
{
window.alert('2='+e);
}
}
function Set_pv()
{
if(xmlHttp.readyState == 4)
{
if(xmlHttp.status == 200)
{
try
{
var data = xmlHttp.responseText;
var datalist = data.split(",");
for(i=0;i<62;i++)
{
document.getElementById("p"+(i+1)).innerHTML = datalist[i];
}
}
catch(e)
{
window.alert(e);
}
}
}
}
window.setInterval(Get_pl,1000);
程序大概的做法:
1.设置页面每1秒钟通过Ajax方式向Pv.aspx请求数据。
2.在Pv.aspx页面中通过datareader向数据库读取数据,然后送回。
请各位指点更好的方法!
请问各位大虾,要想每格几秒钟向数据库某表获取多个数值(60个以内)送回到页面显示,最好应该怎么处理。
本人用大概如下方法获取数值,但效果不是很好,数据库的连接数总是居高不下:
var xmlHttp;
function Get_pl()
{
try
{
createXMLHttpRequest();
xmlHttp.onreadystatechange = Set_pv;
xmlHttp.open("POST","Pv.aspx?type=tm&pk=A",true);
xmlHttp.send(null);
}
catch(e)
{
window.alert(e);
}
}
function createXMLHttpRequest()
{
try
{
if (window.ActiveXObject)
{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else if (window.XMLHttpRequest)
{
xmlHttp = new XMLHttpRequest();
}
}
catch(e)
{
window.alert('2='+e);
}
}
function Set_pv()
{
if(xmlHttp.readyState == 4)
{
if(xmlHttp.status == 200)
{
try
{
var data = xmlHttp.responseText;
var datalist = data.split(",");
for(i=0;i<62;i++)
{
document.getElementById("p"+(i+1)).innerHTML = datalist[i];
}
}
catch(e)
{
window.alert(e);
}
}
}
}
window.setInterval(Get_pl,1000);
程序大概的做法:
1.设置页面每1秒钟通过Ajax方式向Pv.aspx请求数据。
2.在Pv.aspx页面中通过datareader向数据库读取数据,然后送回。
请各位指点更好的方法!
可以考虑写一个数据库依赖的缓存
将数据库中需要的数据取出到缓存中
当数据库发生更改时在刷新缓存
而Ajax,可以每隔1S读取缓存中的更新数据
而不是直接去访问数据库
同意这个,petshop4.0中应用了此技术!