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向数据库读取数据,然后送回。
     请各位指点更好的方法!

解决方案 »

  1.   

    这样频繁地读取数据库很不好如果数据库的更新必须通过你的程序进行
    可以考虑写一个数据库依赖的缓存
    将数据库中需要的数据取出到缓存中
    当数据库发生更改时在刷新缓存
    而Ajax,可以每隔1S读取缓存中的更新数据
    而不是直接去访问数据库
      

  2.   


    同意这个,petshop4.0中应用了此技术!