以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  web应用中的赋值问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=161496)

--  作者:aidimeng
--  发布时间:2021/3/19 10:24:00
--  web应用中的赋值问题
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:111.txt

代码在附件中
现在遇到的问题是
 这样调用  Functions.AsyncExecute("qqq",e,vars("id"), Vars("userid")) 可能会出问题,Vars("userid") 可能获取到别的值

如果这样调用  Functions.AsyncExecute("qqq",e,uid,userid)  发现 uid 与 userid 明明赋值了  但 实际调用时 传递的是 空值 
应该怎么处理比较好呢

--  作者:有点蓝
--  发布时间:2021/3/19 10:43:00
--  
这样测试没有问题
httprequest
Select Case e.Path
    Case "test"
        e.AsyncExecute = True
        vars("id") = "123"
        vars("userid") = "abc"
        Functions.AsyncExecute("qqq",e,vars("id"), Vars("userid"))
        
End Select

函数
Dim e As RequestEventArgs = args(0)
Dim id As String = args(1)
Dim uid As String = args(2)
\'生成网页
e.WriteString("id=" & id & ",uid=" & uid)
\'发送网页
e.Handled = True

建议不要在服务端使用全局变量,可能回有冲突,比如A用户分给变量赋值A,恰巧B用户比A用户晚几毫秒访问给变量赋值B,这时A用户取到的变量值是B而不是A。建议使用cookie传递数据,或者保存到表格中

--  作者:aidimeng
--  发布时间:2021/3/19 11:29:00
--  
就是全局变量 有错误  偶尔会出问题  想着不使用 全局变量 
但修改成 后面的调用  就成了空值了 uid 与userid 都没有获取到数值

--  作者:有点蓝
--  发布时间:2021/3/19 11:32:00
--  
不同页面使用cookie传递数据,或者保存到表格中