asp net:File Exists为UNC路径返回false,但在通过localhost访问时不返回

Tad*_*dhg 3 c# asp.net

我有一个网站,要求用户使用集成Windows身份验证通过IIS 6访问,然后网页的一部分使用以下内容测试文件是否存在:

File.Exists(sourcePath)
Run Code Online (Sandbox Code Playgroud)

sourcePath是用户应该能够访问的UNC.目前我的问题是,当用户可以在网站之外访问此UNC路径时,我得到错误的结果.

现在奇怪的是,如果我使用,测试成功

http://localhost/Site 
Run Code Online (Sandbox Code Playgroud)

在托管网站的服务器上但如果我使用则失败

http://[machine name]/Site 
Run Code Online (Sandbox Code Playgroud)

这感觉就像一个权限问题,但努力确定这个原因.

额外细节:

  • UNC路径位于NAS服务器上
  • web配置有身份impersonate ="true"
  • 尝试为有权访问应用程序池中的UNC的用户添加用户配置.问题没有变化

McC*_*Cee 5

在模拟UNC路径的标识时,您需要确保明确设置用户名和密码,如下所示:

<identity impersonate="true" userName="accountname" password="password" />
Run Code Online (Sandbox Code Playgroud)