2014-12-19 82 views
0

我們有一位正在使用Citrix的新客戶(現在還不知道更具體的信息)。
我們的應用程序是一個正常的.net形式的應用程序設計沒有考慮到思傑。
我們的應用程序(我們不能改變)確保每次只有一個應用程序實例可以通過檢查/創建一個系統事件來運行。虛擬機像citrix for .net應用程序的環境?

[System.Runtime.InteropServices.DllImport("kernel32.dll", EntryPoint = "CreateEvent", SetLastError = true)] 
static extern IntPtr CreateEventPC(IntPtr lpEventAttributes, bool bManualReset, bool bInitialState, string lpName); 

有沒有辦法讓我們的應用程序以某種方式在Citrix服務器上運行? 例如,如果所有用戶都有某種類似虛擬機的環境,他們可以運行我們的應用程序?
應用程序服務器? (其中一位IT人士提到了這個)
還是其他一些配置?
如果有幫助,對IT人說,他們自己抹的Citrix環境,每天晚上......

正如你可能知道我們與Citrix和客戶沒有經驗的IT部門不配合,並不願意解決這個問題。所以我們必須證明它可以完成...
我們有另外一個客戶已經解決了這個與外部顧問,但他們不知道如何...

所以任何提示或幫助將非常讚賞!

回答

1

你是說你不能改變要求每個用戶只有一個實例,或者你實際上不能更改代碼?

如果你能夠改變的代碼,但想保留的要求,並使其在Citrix環境中正常工作,然後檢查了以下主題:

How to limit instances of a C# program in Citrix to 1-per-user

如果你可以」對代碼做任何改變,那麼你可以看看一個應用程序流媒體解決方案。流式應用運行在他們自己的沙箱中,因此當您創建互斥體等全局對象時,您不會遇到任何衝突。 Citrix確實擁有自己的應用程序流式傳輸解決方案,因此根據您的客戶擁有的Citrix許可證,他們可能已經可以訪問流媒體服務,無需支付額外的許可費用。另一個主要的Windows流媒體解決方案是微軟的App-V,但是這需要額外的許可費用。

+0

我們不能更改代碼或要求。我們正在使用一個具有此限制的框架,並且我們爲客戶構建了該框架的模塊,我將研究應用程序流媒體事件!謝謝! – merger 2015-02-05 12:29:21