2014-12-19 42 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