事情是这样的:
我们以前做了一个考试系统,其他模块都没有什么问题,但就是考试时交卷会产生同时多人交卷并发的问题,导致这里总是出些奇怪的问题,比如交不到卷,但数据库中又保存到记录,或者交到卷,数据库中无记录,或者无法交卷等各种情况,试过N种方法均只能提高性能,但不能彻底的解决问题,以前也问过此问题,人们只是说可以使用消息队列或者中间件来实现,但苦于自己不懂所以就一直搁浅。现在深圳有一公司需要买此系统,如果有哪位同仁能帮我解决此问题,可考虑合伙。多谢各位!

解决方案 »

  1.   

    你是不是在处理交卷事件的时候用了静态方法??? 就是 static 的这种方法?? 如果是,肯定会出问题,建议修改。 如果不是这种原因造成的,建议你把你的交卷机制写出来,不然都不知道你怎么处理事件的,怎么回答?
      

  2.   

    用事物处理
    SqlTransaction trans = conn.BeginTransaction
    .......
    comm.trans;
    ...........
    try
    {
    trans.Commit()
    }
    finally
    {
    trans.Rollback();
    }
      

  3.   

    很有可能是 static 的问题另外,交卷的页面要尽量的简单,建议只显示一条语句:交卷成功!asp.net处理页面也是很占用cpu的。
      

  4.   

    交卷的时候,使用:
    Application.Lock()...
    Application.Unlock()
      

  5.   

    finally
    {
    trans.Rollback();
    }没写错吧?? 成不成功都回滚???? 这样怎么行????
      

  6.   

    事务已用了,此交卷页面是ASP写的。 主要是是向数据库里边INSERT答卷数据。