“无法找到路径的一部分”寻找UNC路径

时间:2015-01-09 22:15:27

标签: c# asp.net-mvc iis

尝试从IIS服务器访问另一台计算机上的网络共享。 代码在我的开发机器上运行良好

return File(path, "application/msexcel",trimmedPath);

但是当我尝试服务器时,我得到了这个

Could not find a part of the path 'r:\results\19262\19262-BA-T1\19262-BA-T1-19262-BA-T1-2_12_11_2014_32C_CST_8870.xlsx'.

如果我将该路径复制到资源管理器中,它将在服务器上打开。 我正在使用Windows集成安全性 在IIS中,我已将物理路径凭据设置为我的userID

尝试过Proc Monitor

ProcMon

3 个答案:

答案 0 :(得分:2)

除此之外,我认为您需要通过UNC访问路径,而不是映射驱动器。使用登录用户的凭据(或NET USE语句中提供的凭据)映射驱动器,IIS可能不使用这些凭据。

答案 1 :(得分:0)

那是因为在IIS中,进程在应用程序池用户凭据下运行。默认情况下,用户具有非常有限的权限。您可以尝试将其切换到NETWORK SERVICE用户。

答案 2 :(得分:0)

您必须使用用户名和密码模拟您的网站,该用户名和密码对您正在访问的网络资源拥有完全/适当的权限。

只是冒充你的网站写下web.config文件的System.Web部分中的代码。

</appSettings>
<system.web>
<identity impersonate="true" userName="Charan" password="Ghate"/>

这里我假设用户名“Charan”拥有您正在访问的网络资源的完全访问权限。并且“Ghate”是用户的密码。我解决了这个问题;当我试图访问网络上的共享资源(文件)时。所以我认为这应该是可行的。