标准的.NET Directory.CreateDirectory(string path)方法可以创建一个目录(包括父目录,如果需要的话),并为已创建的目录返回一个DirectoryInfo对象。如果该目录已经存在,则返回已存在的目录的DirectoryInfo对象。
我需要一个方法,如果目录不存在,它将创建一个目录,但如果该目录已经存在,则会失败-返回错误或抛出异常。
不是使用Directory.Exists(string path)。我需要一个原子性的方法。我正在与被设计为将某些目录的存在或不存在作为锁的C++应用程序进行交互,使用DirectoryExists()然后Directory.CreateDirectory()会留下可以被其他进程占用的空间。
在文件系统级别上,创建目录是一种原子操作。如果两个进程都尝试这样做,只有一个将成功。可供C++程序使用的API就反映了这一点。.NET中的标准API隐藏了这一点。是否有一些更低级别的API可用,不包含这种情况?
我需要一个方法,如果目录不存在,它将创建一个目录,但如果该目录已经存在,则会失败-返回错误或抛出异常。
不是使用Directory.Exists(string path)。我需要一个原子性的方法。我正在与被设计为将某些目录的存在或不存在作为锁的C++应用程序进行交互,使用DirectoryExists()然后Directory.CreateDirectory()会留下可以被其他进程占用的空间。
在文件系统级别上,创建目录是一种原子操作。如果两个进程都尝试这样做,只有一个将成功。可供C++程序使用的API就反映了这一点。.NET中的标准API隐藏了这一点。是否有一些更低级别的API可用,不包含这种情况?