【发布时间】:2010-11-19 07:50:10
【问题描述】:
我必须限制我的 .net 4 WPF 应用程序,以便每台机器只能运行一次。请注意,我说的是每台机器,而不是每个会话。
到目前为止,我使用简单的互斥锁实现了单实例应用程序,但不幸的是,这样的互斥锁是每个会话的。
有没有办法创建机器范围的互斥锁,或者有没有其他解决方案可以为每个机器应用程序实现一个实例?
【问题讨论】:
-
您所说的session是指Windows Session?
-
是的,Windows 会话。所以它必须允许每台机器运行一次,而不是每个用户。
-
实际上
Mutex可以帮助实现每个Application Domain的单个实例,而不是每个会话。 -
这里最好的问题是为什么?最常见的原因是因为应用程序使用了某种独特的资源。通常,最佳答案是与该独特资源直接相关的答案。例如,当唯一资源是一个文件时,答案是独占锁定该文件。
标签: c# .net mutex single-instance