【发布时间】:2011-12-09 20:34:43
【问题描述】:
我正在 Windows 服务中创建和使用互斥锁
using(var m = new Mutex(false,"mymutex")
{
m.WaitOne();
//to my things for a long time
m.ReleaseMutex();
}
在另一个以管理员权限运行的程序上
Mutex.OpenExisting("mymutex")
它抛出互斥体不存在。我可以在资源管理器中看到 windows 服务引用了互斥锁。
怎么了?
【问题讨论】:
-
您能否将您的服务作为一个普通程序运行(或更改它在 services.msc 中的运行方式以使用您的 Windows 用户凭据)并告诉我们这是否有帮助?我想我知道出了什么问题,我想确认一下
-
你得到了什么具体的异常?
-
@WiktorZychla 标准的 WaitHandleCannotBeOpenedException