上一个贴发错位置了我有一个项目:做一个asp.net管理网站,这个网站能允许多人登录,但只能允许一个人进行目标操作,其他人必须等待前一个人的请求完成。各位高手有没有好的方法实现这个功能,可能是需要管理回话?或者是用global.asax来管理request?盼不吝赐教!

解决方案 »

  1.   

    用web service访问业务逻辑,给web method加上mutex控制
      

  2.   

    感谢!这是个好方法可是怎么获得当前的http request 还有这个request之前的request呢。 是不是可以通过global.asax 将每一个request 验证后的用户名加入到一个queue中,一个一个的peek这些 request呢?我是新手,以前没有做过asp.net开发,我属于临阵磨枪类型的,有没有更好点的建议请问?
      

  3.   


    可是怎么获得当前的http request 当前的request不就是你处理的哪个?
     还有这个request之前的request呢。这个有必要?
    每一个request 验证后的用户名加入到一个queue中 不明白你这样处理的原因,你把用户放到了队列又能怎样?收到一个请求,判断是处理数据状态,如果为 空闲处理,就锁定该数据
    行,并把处理数据状态改有 正在处理 并进行处理,完毕后解锁并更改数据处理状态为 空闲处理,
    如果请求在判断处理数据状态为 正在处理时,即返回客户端,并告知他有人正在处理请稍侯。
      

  4.   

    如果要求页面和服务端同步的话,你可能需要考虑用flex或者SL
    如果只是要求服务器加锁的话,可以考虑对象锁。
      

  5.   


    我主要是想把,这个用户前边的所有用户及他们的状态显示在当前用户页上,因为这个web只有公司内部人员使用,可以观看其他人员的使用状态