Easerver 端存取变量的问题.

DontWorry 2004-09-23 03:22:28
我想在客户端将一变量 存到 服务器端 (Easerver) 一变量中, 这个变量将会在 服务器端 被其他方法调用, 不知如何实现? 能具体点更好, 兄弟在这感激不尽! 谢谢!

目前是存在 服务器端 的一全局变量中,客户端用方法可取的存过去的变量
可服务器端 取时 ,值还是为空串: '' 不知为何?
...全文
116 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
fibbery 2004-09-26
  • 打赏
  • 举报
回复
有两种方法可以试试:
1、设置操作系统的环境变量。
2、写入文件。
DontWorry 2004-09-25
  • 打赏
  • 举报
回复
另外一个办法就是 传 nvo , 把参数封装在 nvo 中,

实参的设置, 都写在应用端. 这样能行得通.
DontWorry 2004-09-25
  • 打赏
  • 举报
回复
我没办法了,只好在每个要用到gs_userid方法中将其作为参数传过去.

这样很不方便, 要得改客户端啊!

或许把 变量存在 dwobject 中, 参数都传 datastore, 思路还没十分明确
fibbery 2004-09-24
  • 打赏
  • 举报
回复
是啊,的确存在问题,每个用户的连接都会被应用服务器实例化,也就是每个用户都有自己的全局变量。所谓的共享内存我认为只是内存的一种管理方式。当年做三层的时候还真没有这种需求。
那我就不理解全局变量在应用服务器的作用是什么!
有个很土的办法,就是你可以操作一个文件,把值写到文件里。
因为我没有环境,不然我还真地很想试试怎么来实现。期待你的答案。
DontWorry 2004-09-23
  • 打赏
  • 举报
回复
共享变量也试过了, 还是如此情况

哀,我个人的理解是无法实现:

客户端 和 服务器端 实例化时 是各自的实例化,更本不在同一片内存中
DontWorry 2004-09-23
  • 打赏
  • 举报
回复
注: 在另外方法调用时 并没有人去更改 gs_userid 的值
另外, 我将 gs_userid 封装在 一个对像中 nvo_var.is_userid 这样随这对像的实例化,就不存在
有别人对其更改了, 可但是,还是不行!
DontWorry 2004-09-23
  • 打赏
  • 举报
回复
飞兄啊,不知道你这边有Easerver 环境没...试试吧.

1.Easerver 端有 一个全局变量 gs_userid
2.Easerver 有一代理对像 nvo1 发布到 客户端
nov1 有一方法
of_getuserid (string as_userid)

gs_userid = as_userid

return 1
3.客户端 调用代理对像的方法 如下语句
string ls_userid

ls_userid = 'xxx'
nvo1的代理实例.of_getuserid(ls_userid) //到这里为止,按照道理 gs_userid 已经是 'xxx'

// 同时我在 nvo1 中加个方法取 gs_userid, 在前台测试也是 'xxx'
// 可是问题来了:
4.Easerver 有另外一些对像要用到 gs_userid
比如 if gs_userid = 'xxx' then
//这里 gs_userid 的值还是 ''

这里问题不是这么简单, 可能不能用全局变量存取想要存储的值

测试下吧..

fibbery 2004-09-23
  • 打赏
  • 举报
回复
如果无需考虑一个人在操作g_val的时候别人访问该变量,就无所谓保护了。
fibbery 2004-09-23
  • 打赏
  • 举报
回复
当然可以了.你所谓的传那个变量实际上就是一个赋值过程.在应用服务器上定义一个实例变量或者全局变量g_val,再写一个方法,setvalue(val)之类的,对变量赋值,其他人想怎么用就怎么用呗,但是千万注意变量保护。你在赋值的时候不要有其他人赋值。
这个问题你可以参考互斥变量或者临界变量方面的知识。
我初步考虑,你可以使用另外一个实例或者全局的布尔变量来控制。例如:gb_operate
当该变量为true时,表示g_val正在被操作,不允许其他人访问,等操作完了将gb_operate赋值为false。
DontWorry 2004-09-23
  • 打赏
  • 举报
回复
郁闷,每次提问都没人能够答上

1,076

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧