UnauthorizedAccessException:使用服务帐户从带有应用程序池的Web应用程序进行UNC访问

时间:2014-01-07 21:13:43

标签: c# asp.net .net iis-7

我正在尝试从网络应用访问网络共享\\\\ip\c$\imp\

  • AppPool正在使用域服务帐户进行身份验证。
  • 域名服务帐户拥有对\ ip \ c $ \ imp \
  • 的完全访问权限
  • AppPool以集成模式运行 - framework 4.0。

但我仍然得到System.UnauthorizedAccessException.知道为什么?

FileAttributes attributes = File.GetAttributes("\\ip\c$\imp\testfile.txt");
if ((attributes & FileAttributes.ReadOnly) == FileAttributes.ReadOnly)
{
     Console.WriteLine("read-only file");
}
else
{
    Console.WriteLine("not read-only file");
}

2 个答案:

答案 0 :(得分:0)

看起来你忘了逃避路径中的反斜杠。

用于跟踪此类问题的通用工具是Windows Sysinternals Process Monitor ProcMon。为您的应用程序设置过滤器(或路径名称的一部分,例如路径包含file.txt)并查看显示的内容。如果字符转义错误,您将看到错误的路径名。

答案 1 :(得分:0)

如果在\ ip \ c $ \ imp \ testfile.txt中的ip与运行该应用程序的网络服务器的ip相同,则失败,否则它可以正常工作。