1

在 Citrix 下是否有办法让我的应用程序调用 Citrix 主机以了解我的应用程序当前正在运行多少个副本?我们想在我们的许可证中限制这一点,我们需要有一种方法在代码中验证它。

谢谢 - 戴夫

4

2 回答 2

2

不,Citrix XenApp(这是他们最知名的产品,可能是您要询问的产品)不提供任何可用于应用程序许可证检查的 API 或服务。

于 2012-11-12T10:02:54.780 回答
1

您可以通过 Citrix 获得的最接近方法是使用 Powershell SDK 并调用 Get-XASessionProcess 来获取进程列表。这种方法的问题是您需要成为 Citrix 管理员,这是一种相当全面的方法。

如果我想为许可证强制实施一个简单的并发限制,我会考虑两个选项:

  1. 在我的应用程序与之通信的地方实现一个简单的 Web 服务,以获得许可证。

  2. 创建一个简单的 Windows 服务来跟踪进程以维护应用程序的并发实例计数。当超过配置的许可证计数时,您可以在全局命名空间的共享内存部分中设置一个标志。然后在您的应用程序中,您在启动时检查此标志并在设置后立即退出。

您可以使用 WMI 跟踪进程,例如

http://weblogs.asp.net/whaggard/archive/2006/02/11/438006.aspx

于 2012-11-12T23:25:29.207 回答