File.GetAttributes(unc)生成“未找到网络路径”错误

时间:2011-09-08 21:36:03

标签: c# asp.net

我正在将一个UNC路径传递给File.GetAttributes()。这在运行我的本地时工作正常,但当我将网站移动到测试服务器时,我收到“找不到网络路径”错误。我能够从测试服务器导航到路径,所以我不知道为什么我会收到此错误。代码很简单。这是错误的地方:

try
{
    if (FileAttributes.Directory != (FileAttributes.Directory & File.GetAttributes(directory)))
        directory = GetPath(directory);
}
catch...

2 个答案:

答案 0 :(得分:0)

能够从服务器导航到共享并不意味着 - 记住您的应用程序正在另一个帐户下运行,通常是应用程序池设置为的。该帐户通常无权访问本地计算机中的资源以外的任何内容,因为它不是域帐户。

检查运行应用程序池的帐户。您可能必须将其更改为AD林中的域帐户才能访问其他服务器上的内容。

答案 1 :(得分:0)

很可能是“NTLM one hop”问题 - 远程用户的凭据无法传递给thrird服务器。

机器1:浏览器 - (凭据) - >机器2:ASP.Net站点 - (无凭证) - >机器3。

解决方案是在已知(即处理)帐户下访问“机器3”或使用Kerberos。