Citrixの下で、アプリケーションがCitrixホストを呼び出して、現在実行されているアプリケーションのコピーの数を確認する方法はありますか?これをライセンスで制限したいので、コードで確認する方法が必要です。
ありがとう-デイブ
Citrixの下で、アプリケーションがCitrixホストを呼び出して、現在実行されているアプリケーションのコピーの数を確認する方法はありますか?これをライセンスで制限したいので、コードで確認する方法が必要です。
ありがとう-デイブ
いいえ、Citrix XenApp(最もよく知られている製品であり、おそらくあなたが求めている製品です)は、アプリケーションのライセンスチェックに使用できるAPIまたはサービスを提供していません。
Citrixを介して取得できる最も近い方法は、Powershell SDKを使用し、Get-XASessionProcessを呼び出してプロセスリストを取得することです。このアプローチの問題は、Citrix管理者である必要があることであり、これを行う方法についてはかなりラウンドアバウトです。
ライセンス施行のための単純な同時制限を実装したい場合は、2つのオプションを検討します。
ライセンスを取得するために、アプリが通信する場所に単純なWebサービスを実装します。
プロセスを追跡する単純なWindowsサービスを作成して、アプリの同時インスタンスの数を維持します。構成されたライセンス数を超えると、グローバル名前空間の共有メモリセクションにフラグを設定できます。次に、アプリで起動時にこのフラグをチェックし、設定されるとすぐに終了します。
WMIを使用してプロセスを追跡できます。
http://weblogs.asp.net/whaggard/archive/2006/02/11/438006.aspx