gpt4 book ai didi

.net - 创建互斥体会引发 DirectoryNotFoundException

转载 作者:行者123 更新时间:2023-12-02 17:29:40 36 4
gpt4 key购买 nike

我正在尝试创建一个 named mutex ,但是当我调用构造函数时,我得到一个 DirectoryNotFoundException!为什么互斥锁试图访问文件系统,我如何知道什么是有效路径?互斥体是否应该放置在任何特定的目录中,它与名称有何对应?

编辑:我正在使用 Mutex(bool, string) 重载,异常(exception)情况是:

System.IO.DirectoryNotFoundException: Could not find a part of the path '<mutex name>'.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.Threading.Mutex.<>c__DisplayClass3.<.ctor>b__0(Object userData)
at System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData)
at System.Threading.Mutex..ctor(Boolean initiallyOwned, String name, Boolean& createdNew, MutexSecurity mutexSecurity)
at System.Threading.Mutex..ctor(Boolean initiallyOwned, String name)

最佳答案

啊,找到问题所在了。我的互斥体名称中有 \ ,Windows 将其解释为路径字符。运行:

mutexName = mutexName.Replace(Path.DirectorySeparatorChar, '_');

解决问题

关于.net - 创建互斥体会引发 DirectoryNotFoundException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4313756/

36 4 0