.....Application.lock/application.unlock

解决方案 »

  1.   

    我用了application.lock和unlock
    但单纯这样做,没用的
      

  2.   

    看看下面的代码,能不能看懂就看你的悟性了每次有人发言,提交到另一个页面执行下面的代码:
    -------------------------------------------------------------------------
    dim sd,newsd(50),line,j,i
    Application.Lock
    sd=Application("chat")
    line=Application("line")
    Application("line")=line+1
    j=1
    for i=3 to 50 step 2
        newsd(j)=sd(i)
        newsd(j+1)=sd(i+1)
        j=j+2
    next
    newsd(49)=line+1
    newsd(50)=发言内容
    Application("chat")=newsd
    Application.UnLock
    --------------------------------------------------------------------------------
    application("line"):存放着所有用户的发言总数,每有人发言,它就增加1.
    application("chat"):是一个数组,下标50,它的单数元素,如1,3,5....49中存放所有用户发言
    总数它的偶数元素存放发言内容.
    application("line")和application("chat")都是事先定义好的在另一个隐藏的框架中(此框架是不停刷新的),有如下代码,
    其中的session("user")是事先定义的,保存着发言总数,
    当没有新发言时,它同application("line")和application("chat")的第49元素大小相同:
    ----------------------------------------------------------------
    dim userline,sd
    sd=Application("chat")
    for i=1 to 50 step 2
        userline=sd(i)
        if sd(i)>session("user") then
            Response.Write sd(i+1)
        end if
    next
    session("user")=userline
    ----------------------------------------------------------------
    用这种方法,就算同一时间有25个人发言也不会被覆盖.你还可以把数组定义大些,比如100,
    就可保证50个人同一时间发言不覆盖了.呼拉拉写这么多,可能你一时不能理解,我的语言
    表达能力可能不是太好,希望能给你一点启发!