Directory.Exists不适用于网络路径我有一行代码检查目录是否存在,然后获取其中的文件列表.System.IO.Directory.Exists(@"\ServerFolder");当我测试时(从visualstudio运行)工作,但是当我部署网站时它总是返回false。我在另一台服务器(比如Server2)上的另一个文件夹上进行了相同的验证,并且工作正常。然后我以为是访问的问题,但是共享文件夹和网络是所有人都可以访问的。。。还有什么其他的原因导致不行吗?当您在VisualStudio中运行代码时,它将以用户的权限运行。当您在IIS中运行您的代码时,它以应用程序池的身份运行,默认情况下是内置用户“网络服务”,这是一个无法访问本地计算机的本地用户帐户。网络共享的权限是第一层,之后检查目录的NTFS权限。您需要将应用程序池的身份更改为与用户具有相同权限的域用户。我可能来晚了一点,但是我发现Directory类的这个方法有问题。相反,我以这种方式使用DirectoryInfo模拟:newDirectoryInfo(path).Exists这样可以避免我们的IT世界拒绝的整个身份更改问题。我希望这可以帮助别人!供以后参考,这个也行:以上是C#学习教程:Directory.Exists并不适用于网络路径分享的全部内容,如果对大家有用,需要详细了解C#学习教程,我希望大家多多关注——boolresult=false;尝试{Directory.GetAccessControl(路径);结果=真;}catch(UnauthorizedAccessException){结果=true;}赶上{结果=假;}本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
