ASP.NET页面优化方式
一个新闻首页页面(a.aspx) 里面有许多datalist控件 同时有大量的sql语句在后台读取数据库数据 然后分别进行数据绑定 将查询的数据绑定至a.aspx的datalist中
现在想对其进行优化 希望服务器定时对该页面内的数据进行更新 每隔15分钟 然后将页面的静态页面的代码绑定至一个新的页面中(b.aspx) 也就是说 用户访问这个页面的时候 服务器只展示静态的页面 内部的各个链接都已经写好 只有到下一个15分钟时 才会自动刷新 而用户在这15分钟之内无论后台数据库是否有新数据添加 无论用户如何刷新 都显示的是相同的内容
不知这样的效果如何实现?求解答
------解决方案--------------------其实这种优化有很多方面和方式的。
=======================
优化方式A:采用静态页面生成技术:
你可以在访问a.aspx 页面的时候,判断本地是否存在a.html文件,是判断文件上次保存日期是否超过15分钟,是则将a.aspx Render的内容保存到a.html.
最后导航到a.html文件。
客户无论访问a.html或a.aspx页面,都有一个脚本类似这样:
setTimeout(function(){
location.href="a.aspx"
},15*60*1000);
【静态页面的优化,上面是没考虑你程序编码的优化】
========================
优化方式B:采用缓存存储
既然你页面数据可以保存15分钟,那么你可以在页面设置页面缓存时间15分钟,或在赋值datalist 的时候进行缓存。
====================
优化方式C:页面代码整理优化
尽量减少数据的多连接查询,比如你好几个datalist,如果可以一次性利用Connection 查询,就一次性查询出来(不会导致查询超时情况下)。
看看你的datalist是否需要postback,不过我根据你说的都要静态了,应该是不需要回传,也就是把viewstate禁用掉
【这种方式是配合上面两种进行深度优化。】