Citrix:避免应用程序“无响应”

时间:2018-08-31 15:11:46

标签: c# delphi citrix terminal-server

如果在citrix环境中执行应用程序,我们将面临问题。该应用程序是用Delphi和.NET开发的客户端/服务器应用程序。后端中的数据库是Oracle。 许多客户的应用程序在citrix /终端服务器环境中运行。总的来说可行。现在的问题:

其中一些结合冻结的白色屏幕会收到大量的Windows“无响应”消息。据我了解,如果应用程序不再(在给定时间内)对消息循环作出任何反应,则Windows将自动完成此操作。 通常在长时间运行数据库操作或某些UI操作需要较长时间的情况下会发生这种情况。此处的默认值为5s(hungapptimeout)。

为避免“不响应”和冻结,我们已经在Windows API上调用了PeekMessage(Msg,0,0,0,PM_NOREMOVE)。 在本地运行时,可以很好地避免长时间运行的操作的“不响应”行为。

在终端服务器上(或至少在某些配置上),看起来根本没有考虑。

我们还尝试在终端服务器上没有成功的情况下增加/修改hungapptimeout(请参阅:https://blogs.msdn.microsoft.com/meason/2010/02/04/hungapptimeout)。

  • 有什么要考虑的吗? ->当然,这可能是问题所在,该服务器上只存在许多用户,并且资源可能已经受到限制,但是我们没有迹象表明类似的事情。
  • citrix上是否有特殊设置可配置该行为。

希望有人可以提供帮助,或者至少可以给出提示。

0 个答案:

没有答案