【发布时间】:2010-07-25 12:48:56
【问题描述】:
我需要通过 Citrix 会话获取运行我们的软件应用程序的台式计算机的本地计算机名称。当我查询My.Computer.Name 时,我得到了服务器的名称。
如何获取运行会话的实际物理计算机的名称,当有人将会话从一台计算机切换到另一台计算机时,是否有可以监视的事件?
【问题讨论】:
-
我没有准备好 Citrix 服务器,但是 IIRC 应该在服务器环境中有一个变量。
我需要通过 Citrix 会话获取运行我们的软件应用程序的台式计算机的本地计算机名称。当我查询My.Computer.Name 时,我得到了服务器的名称。
如何获取运行会话的实际物理计算机的名称,当有人将会话从一台计算机切换到另一台计算机时,是否有可以监视的事件?
【问题讨论】:
按照上面 Kobi 的建议找到了一个服务器变量:
%CLIENTNAME%
它仅在终端服务或 Citrix 中填充,在您的本地 PC 上扩展它将返回 %CLIENTNAME%。但是,在 citrix 或 RDP 服务器上,它运行良好。我使用的 .net 代码是:
TSHostName = Environment.ExpandEnvironmentVariables("%CLIENTNAME%")
【讨论】:
:)。顺便说一句,您可以通过单击旁边的复选标记来接受自己的答案。