我有一个声明如下的DirectoryInfo变量:
DirectoryInfo rootDirectory = new DirectoryInfo(@"\\server01\Shared\Saved Stuff\");
当我从localhost运行我的网站时,以下代码返回true,但是当我发布并上传它时,它返回false。
bool doesItExist = rootDirectory.Exists;
我不相信(实际上我确信)这是一个安全权限问题,因为我给实体“Everyone”完全访问目标文件夹。任何人都有一个线索,为什么这可能发生,只有在现场?仅供参考,当我将桌面远程连接到server01并输入上述路径时,我可以毫无问题地访问它,就像我可以从本地机器上一样。
答案 0 :(得分:2)
假设您正在为您的网站使用Windows身份验证...
您很可能遇到“NTLM one-hop” - 从其他计算机传递到服务器的凭据无法重复访问第三台计算机,因此未经过身份验证的用户正在访问\ server01 \ shared。
要确认 - 尝试在部署代码的服务器上使用浏览器导航到使用此代码的页面。
答案 1 :(得分:0)
试试这个
DirectoryInfo rootDirectory = new DirectoryInfo(HttpContext.Current.Server.MapPath(@"\\server01\Shared\Saved Stuff\"));