我写了个随机抽题的查询语句如下:
select top 60 * from table order by newid()
我每次提交这个查询都是一样的数据,好象要隔好长时间,显示出来的数据才会变化,我估计是高速缓存的问题,我在aspx页面上加了如下代码:
<%@ OutputCache Duration="1" VaryByParam="None" %>
我想把页面保存在服务器的缓存设置为1秒,但不起作用,请问是什么原因?在线等,谢谢啦!

解决方案 »

  1.   

    1,确认一下查询时间
    2,每次返回服务器时,url里放个不重复的变量(一般取时间) 比如 "&timeStamp=" + new Date().getTime()
      

  2.   

    To apollolb2005:
    怎么加变量?能不能举个例子,谢谢!
      

  3.   

    我不是已经举了么?
    ...
    url = "*****.aspx?timeStamp=" + new Date().getTime();
      

  4.   

    To apollolb2005:
    url = "*****.aspx?timeStamp=" + new Date().getTime();
    这一句在  web.config里加?还是在其他什么地方?  再次感谢!
      

  5.   

    To apollolb2005: 
    我的查询是直接放到:Page_Load 里面的,只要用户打开页面,考试题目就下载下来了
      

  6.   

    这样肯定不行了.因为 楼主的VaryByParam设置为"None"
      

  7.   

    具体的做法是<%@ OutputCache Duration="1" VaryByParam="time" %> 
    然后,在点击查询按钮的时候,在查询过数据后
    url = "*****.aspx?timeStamp=" + new Date().getTime();  respose.redirect(url)
      

  8.   

    to :mqcan
    我的查询是直接显示的,不需要点按钮,只有一个链接,如"在线测试",只要点这个链接(用的框架,在另外一个页面top.htm上),查询就显示出来了,链接字符串在top.htm里,是不是要设置这个页面的url
      

  9.   

    问题解决了,因为我把数据集定义成了静态变量,和缓存没有任何关系,谢谢各位了,着重感谢apollolb2005!