我有一个问题实际上已经解决了,但我完全不明白为什么它会像这样.
所以我有一个网络共享,我想简单地验证我是否有权在该共享中创建新文件和目录.我用了两种方法来解决这个问题,但两者都得到了不同的结果.我的测试用例是我无法在该共享上创建文件和目录:
试图创建一个新的目录 – 不是一个好方法
try { var testPath = Path.Combine(path,testDirectory) Directory.CreateDirectory(testPath) } catch { // No access }
这是一种我根本不喜欢的方式,但它有效…我在这里有一个例外,所以它正确地说我没有特定路径的权限.
使用FileIOPermission – 更好的方式
try { var writePermission = new FileIOPermission(FileIOPermissionAccess.Write,path) var appendPermission = new FileIOPermission(FileIOPermissionAccess.Append,path) writePermission.Demand() appendPermission.Demand() } catch { // No access }
通过这种方法,我没有任何异常,所以它告诉我,我有权创建新文件 – 实际上并非如此.
谁知道第二种方法有什么问题?