2012-11-12 56 views

回答

1

通過思傑最接近您可以使用Powershell SDK並調用Get-XASessionProcess來獲取進程列表。這種方法的問題是你需要成爲一個Citrix管理員,這是一個相當完整的方法。

如果我想實現一個簡單的併發限制許可實施我想看看兩個選項:

  1. 地方實現一個簡單的Web服務是我的應用程序會談,以獲得許可證。

  2. 創建一個簡單的Windows服務,跟蹤進程以維護應用程序併發實例的數量。超過配置的許可證計數時,可以在全局名稱空間的共享內存部分中設置標誌。然後在您的應用程序中,您可以在啓動時檢查該標誌,並在設置時立即退出。

您可以使用WMI跟蹤進程,例如,

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

+0

謝謝。這是否意味着(我對Citrix一無所知)每個用戶/會話都是獨立運行的Windows會話,因此會運行我的應用的獨特會話? –

+0

是的,每個用戶都可以獲得獨立於其他用戶會話的會話,並且是的,每個用戶都有自己的應用程序副本,這些副本在其會話中運行時不會由您的應用的其他實例默認顯示。但是,可以在全局名稱空間中創建所有會話都可以看到的對象。互斥體,命名管道,共享內存部分。 – donovan

2

沒有,思傑的XenApp(這是他們最知名的產品,可能你問的是一個)不提供可用於應用程序許可檢查任何API或服務。

+0

真可惜 - 不是我所期待的答案。哦,謝謝。 –

+0

後續問題。每個Citrix會話都是獨立的VM嗎?或者他們都在一個Windows會話中運行? –

+0

「Citrix」會話是常規的Windows用戶會話。只有訪問方法不同(HDX又名ICA與RDP或控制檯)。當然還有管理工具。 –

相關問題