当前位置: 代码迷 >> ASP.NET >> 页面十秒读取一次数据库,该怎么处理
  详细解决方案

页面十秒读取一次数据库,该怎么处理

热度:7712   发布时间:2013-02-25 00:00:00.0
页面十秒读取一次数据库
有个aspx的页面 就是 隔十秒 我要让他自动的搜一遍 数据库的表的数据,数据库是sqlserver的
该如何实现呢

------解决方案--------------------------------------------------------
System.Threading.Timer time = new System.Threading.Timer(查询数据库函数, sender, 延迟时间, 间隔时间);//计时器延迟n秒启动,间隔n分钟
------解决方案--------------------------------------------------------
探讨
System.Threading.Timer time = new System.Threading.Timer(查询数据库函数, sender, 延迟时间, 间隔时间);//计时器延迟n秒启动,间隔n分钟

------解决方案--------------------------------------------------------
搞个JS 10S刷新一次页面

AJAX更好
------解决方案--------------------------------------------------------
用数据缓存
C# code
<%@ OutputCache  Duration="60" VaryByParam="none" %>
------解决方案--------------------------------------------------------
前台后台两种,
前台js
后台C#
js,用setInvert轮训

C#如2楼 时间控件
------解决方案--------------------------------------------------------
setInterval("",10000)

------解决方案--------------------------------------------------------
两种方都可以.如果要体好的话还是用AJAX好点,不过10s查一次库是不是太频繁了?
------解决方案--------------------------------------------------------
这个比较简单,跑个循环就可以了,js么就用setInvert,后台么Timer控件或者开个线程!
------解决方案--------------------------------------------------------
前台用setInterval每隔10次发一次Ajax请求,然后可以更改Dom树结构
后台就用Timer了.

不管前后台哪种实现方式,本身每隔10秒读一次数据库就是对服务器性能的一个挑战.人多了服务器可能会承受不住.
------解决方案--------------------------------------------------------
JScript code
        setInterval(MessageTitle, 10000);        function MessageTitle() {            //获取任务信息            $.post("/Warn/GetMsg/?dt=" + +new Date().getTime() + Math.random(), function (msg) {                //进行处理            });        }
  相关解决方案