在Siebel(7.8,如果它有任何区别),通过TheApplication().SetProfileAttr("name", "value");
设置的配置文件属性的范围是什么?
我总是把它们看作是会话变量。但是,第二个想法,用户配置文件应仅依赖于当前用户,而不是会话。因此,如果有人使用相同的登录从两台不同的计算机访问Siebel应用程序,并执行设置配置文件属性的操作...该属性是否可以从另一台计算机读取?
我还没有在官方文档中找到任何内容,谷歌搜索显示相互矛盾的信息。大多数资源都说它们等同于会话变量...:
Siebel Unleashed:Siebel服务器通过会话ID识别每个唯一用户 [...] 配置文件属性是在用户会话期间可以保存任何值的变量
Another blog:配置文件属性在会话级别设置
An answer in this thread:getsharedglobal [...] 可以被视为在应用程序级别设置的全局属性。 [...] 个人资料属性是用户和会话特定的,所以如果同一个用户在2个地方登录,他将在每个地方拥有自己的一套个人资料属性
...但是还有其他一些暗示实际上,每个用户的属性只是唯一的,而不是每个会话:
Another answer in the same thread: [SetProfileAttr和SetSharedGlobal] 的主要区别在于 [...] SetSharedGlobal [...] 对于用户和用户的相关会话是唯一的。
那么,它是哪一个?它们是会话变量吗?或者它们仅限于用户,并在同一用户的所有实时会话中共享?
答案 0 :(得分:1)
我没有代码来证明这一点,但从个人经验来看,个人资料属性对于用户的会话是唯一的。将其视为一个全局变量,在用户注销之前一直存在。如果用户向siebel登录两次,则这是两个不同的siebel会话。 siebel用户无法跨登录/会话传输配置文件属性。在服务器上异步运行的每个任务都将作为单独的SADMIN登录运行,但它们将拥有自己的配置文件属性副本。这意味着开发人员可以使用/设置配置文件属性,而不必担心它会影响登录的任何其他用户。