File.OpenRead()访问工作组内共享但不是远程共享的文件?

时间:2011-03-04 19:10:49

标签: asp.net file-io share unc

我有一个ASP.NET MVC应用程序尝试使用文件流和File.OpenRead()读取文件。 当文件的路径是同一工作组上的共享,并且我为共享提供对NETWORK SERVICE的访问权限时,这可以完美地工作。

但是,当共享的路径是LAN中远程共享的UNC路径时,对“Everyone”打开读取权限时,“File.OpenRead()”方法会抛出异常“无法找到路径的一部分“。

在我的测试用例中,我正在本地调试,ASP.NET MVC应用程序被赋予一个UNC路径,指向它实际运行的计算机。 它是我的C驱动器上的一个共享,被“共享”,具有“Everyone”权限以进行读取访问。

IIS中是否存在需要配置的内容? 如果我尝试模拟,在这种情况下,模拟并不重要,因为NETWORK SERVICE是用户在同一工作组中共享时尝试访问文件的。

2 个答案:

答案 0 :(得分:0)

验证共享权限,以确保为NETWORK SERVICE帐户授予权限,以便能够访问共享。共享以及实际文件/文件夹需要权限。

[]的

答案 1 :(得分:0)

IIS以不同方式访问远程共享时处理身份验证。请看一下这篇文章:UNC Authentication in IIS 6.0。或者搜索IIS UNC site:microsoft.com