2014-01-07 53 views
0

我試圖從Web應用程序訪問網絡共享\\\\ip\c$\imp\UnauthorizedAccessException:UNC使用服務帳戶從具有應用程序池的Web應用程序訪問

  • 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"); 
} 
+0

您可以發佈顯示您如何訪問共享的代碼嗎? – mason

+0

@ msm8bball新增。謝謝。 –

+1

您需要避開反斜槓 – jdigital

回答

0

如果ip在\ ip \ c $ \ imp \ testfile.txt與運行該應用程序的網絡服務器的ip相同,那麼這是失敗的,否則它工作得很好。

0

它看起來像你忘記了逃避路徑中的反斜槓。

追蹤這類問題的通用工具是Windows Sysinternals Process Monitor ProcMon。爲您的應用程序(或部分路徑名稱,如Path包含file.txt)設置一個篩選器,然後查看結果。在錯誤轉義字符的情況下,您會看到一個損壞的路徑名。

+0

不需要反斜槓。 –

+0

仍然值得嘗試ProcMon來查看錯誤是什麼。 – jdigital

相關問題