当我使用name参数的路径时,为什么Mutex实例化会抛出System.IO.DirectoryNotFoundException?

时间:2014-09-23 14:15:26

标签: .net mutex

当我这样做时:

using (Mutex MyMutex = new Mutex(true, Environment.CurrentDirectory))
{

}

抛出System.IO.DirectoryNotFoundException。我在这里看到其他问题,解决了如何避免将\替换为.-之类的问题,但我想知道为什么它是这样做。为什么尝试将互斥锁名称解析为路径?它不会尝试将asdf解析为路径。这是怎么回事?

1 个答案:

答案 0 :(得分:1)

Mutex是在名为ObjectDirectory的商店中创建的,所有Mutex键实际上都是此商店中的路径。您已经给出了绝对路径这一事实意味着实施将尝试解决这个问题。在这里阅读win32文档

http://msdn.microsoft.com/en-gb/library/windows/desktop/ms682411(v=vs.85).aspx