我做了个在线考试系统,我用的是datalist控件来绑定题目和答案,直接计算分数,不保存,问题如下:
当两个用户同时考试时,用户1打开页面考试 ,接着用户2打开页面考试,在交卷计算分数时用户1分数计算有误,经研究发现
先考试的用户,在计算分数时,参考的答案是后考试的用户下载下来的答案,我估计是后考试的用户把先考试用户的dataset
数据集给替换掉了,也可能是datalist绑定的问题
,请问怎么解决?
dataset 定义如下:……
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using DbOperate;
public partial class Default2 : System.Web.UI.Page
{
       static DataSet ds =new DataSet();
……

解决方案 »

  1.   

    每个用户的东西都是一个实例啊,不要保存的。请问你为什么要STATIC?每次调用NEW一个不就可以了,根本不会出现你说的那种问题的。
      

  2.   

    static DataSet ds =new DataSet();   ds 是定义的一个公共变量
      

  3.   

    你在方法外定义的不用static也可以啊
     为什么一定要加呢
      加了static后会占用资源的
     因为它会一直存在的  不用static后离开这个页面会自动销毁 释放资源
     
      

  4.   

    我把static去掉了,还是有问题,请大家帮忙啊
      

  5.   

    楼主有用到多页面吧?是不是有用到Session传值?
    另:两考生是在同一台电脑上使用你的考试系统吗?
    如果是这样就会产生串值的问题
    解决办法就是为每个用户单独产生传值的ID号