"Could not find a part of the path" 寻找 UNC 路径

"Could not find a part of the path" looking for a UNC path

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

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

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

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

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

尝试过 Proc Monitor

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

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

您必须使用用户名和密码模拟您的站点,这些用户名和密码对您正在访问的网络资源具有 full/proper 权限。

只是冒充您的网站,在 web.config 文件的 System.Web 部分编写以下代码。,

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

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