C# &引用;找不到路径的一部分“;正在查找UNC路径

C# &引用;找不到路径的一部分“;正在查找UNC路径,c#,asp.net-mvc,iis,C#,Asp.net Mvc,Iis,正在尝试从IIS服务器访问另一台计算机上的网络共享。 代码在我的开发机器上运行良好 返回文件(路径“application/msexcel”,trimmedPath) 但是当我在服务器上尝试时,我得到了这个 找不到路径“r:\results\19262\19262-BA-T1\19262-BA-T1-19262-BA-T1-2\u 12\u 11\u 2014\u 32C\u CST\u 8870.xlsx”的一部分。 如果我将该路径复制到资源管理器中,它将在服务器上打开。 我正在使用Windo

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

返回文件(路径“application/msexcel”,trimmedPath)

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

找不到路径“r:\results\19262\19262-BA-T1\19262-BA-T1-19262-BA-T1-2\u 12\u 11\u 2014\u 32C\u CST\u 8870.xlsx”的一部分。

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

进程监视器


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

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

您必须使用用户名和密码模拟您的站点,用户名和密码对您访问的网络资源具有完全/正确的权限

只需在Web.config文件的System.Web部分中模拟您的站点编写以下代码即可

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


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

运行IIS应用程序池进程的用户是否拥有该文件夹的权限?我已编辑了您的标题。请参阅“”,其中的共识是“不,他们不应该”。