DirectoryInfo仅从localhost查找路径

时间:2012-03-01 00:30:44

标签: c# asp.net

我有一个声明如下的DirectoryInfo变量:

DirectoryInfo rootDirectory = new DirectoryInfo(@"\\server01\Shared\Saved Stuff\");

当我从localhost运行我的网站时,以下代码返回true,但是当我发布并上传它时,它返回false。

bool doesItExist = rootDirectory.Exists;

我不相信(实际上我确信)这是一个安全权限问题,因为我给实体“Everyone”完全访问目标文件夹。任何人都有一个线索,为什么这可能发生,只有在现场?仅供参考,当我将桌面远程连接到server01并输入上述路径时,我可以毫无问题地访问它,就像我可以从本地机器上一样。

2 个答案:

答案 0 :(得分:2)

假设您正在为您的网站使用Windows身份验证...

您很可能遇到“NTLM one-hop” - 从其他计算机传递到服务器的凭据无法重复访问第三台计算机,因此未经过身份验证的用户正在访问\ server01 \ shared。

要确认 - 尝试在部署代码的服务器上使用浏览器导航到使用此代码的页面。

答案 1 :(得分:0)

试试这个

DirectoryInfo rootDirectory = new DirectoryInfo(HttpContext.Current.Server.MapPath(@"\\server01\Shared\Saved Stuff\"));