0

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

他们中的一些人会收到大量的窗口“无响应”消息,并结合冻结的白屏。据我了解,这是由 Windows 自动完成的,以防应用程序不再对消息循环做出反应(在给定时间内)。这通常发生在长时间运行的数据库操作或某些 UI 操作需要更长时间的情况下。这里的默认值是 5s (hungapptimeout)。

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

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

我们还尝试在终端服务器上增加/修改 hangapptimeout,但没有成功(参见:https ://blogs.msdn.microsoft.com/meason/2010/02/04/hungapptimeout )。

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

希望有人可以提供帮助或至少可以提供提示。

4

0 回答 0