gpt4 book ai didi

windows - Citrix 环境中跨用户 session 的互斥

转载 作者:可可西里 更新时间:2023-11-01 11:38:38 24 4
gpt4 key购买 nike

我有一个在 Citrix 环境中运行的应用程序。该应用程序可以由多个用户在不同的用户 session 中同时运行。在我的应用程序中,我正在写入一个文件,该文件应该在所有用户 session 中互斥。我尝试使用 Mutex 来避免从不同的用户 session 写入文件,但使用 Mutex 失败,因为在某些情况下,不同的用户 session 无法检测到是否已创建 Mutex 对象。

谁能告诉我以下哪种方法更适合在所有用户 session 中实现互斥:

  1. 使用命名管道:如果命名管道已经存在,那么应用程序将等待管道被打开它的应用程序实例关闭。否则创建命名管道以指示获取锁。
  2. 使用锁定文件:在磁盘上创建一个普通文件来表示获取锁,需要解锁时删除。

最佳答案

您不需要使用锁定文件。您可以使用内置的文件系统共享机制。

当您通过调用 CreateFile() 打开文件时您确定后续尝试使用 dwShareMode 参数打开文件的共享访问权限。例如,将其设置为 0,其他进程将无法打开该文件。

关于windows - Citrix 环境中跨用户 session 的互斥,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5217694/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com