簡體   English   中英

拒絕訪問路徑“ xxx”(其中“ xxx”是文件夾)

[英]Access to the path 'xxx' is denied (where 'xxx' is a folder)

我知道這已經被問過很多次了,但是我在沒有幫助的情況下瀏覽了數十個類似的問題。

當我的asp.net 4.0應用程序嘗試訪問本地驅動器上的文件夾時,將顯示此錯誤:

XmlTextReader confReader = new XmlTextReader (filename);           
while (confReader.Read())  // <- error line
{
  // do something
}

在我的web.config中,我具有<Identity Impersonate =“ true”>。 對於該文件夾,我已分配對以下文件的完全訪問權限:

everyone 
IIS APPPOOL\<custom apppoolname> 
NETWORK SERVICE

調試應用程序后,我可以放置一個手表來評估該調用,該調用恰好在所指示的行之前:

System.Security.Principal.WindowsIdentity.GetCurrent().Name.ToString();

呼叫顯示當前用戶為IIS APPPOOL \\ <custom apppoolname>。

我在帶有Sp1的Windows 7 64位上。 我知道這可能是愚蠢的,但是我已經花了很多時間。

編輯
問題出在變量“文件名”中,它指向正確的文件夾,但是對於配置問題,文件名丟失了(即內容是“ c:\\ data \\”而不是“ c:\\ data \\ file.xml” )。 實際上,Asp.net錯誤令人困惑,因為我擁有訪問該文件夾的所有正確權限。 DJKRAZE為我指明了正確的方向。

這是我建議檢查的內容

where are you declaring filename..? Does the file even exist..?

您對那個文件夾有權利嗎? 您是否嘗試過以管理員身份運行VS? 您是否為Web應用設置了虛擬目錄。.聽起來您是否配置了一些東西,但基於啟動器的代碼,這行System.Security.Principal.WindowsIdentity.GetCurrent().Name.ToString();並不能真正告訴您System.Security.Principal.WindowsIdentity.GetCurrent().Name.ToString(); 應該產生您的domain\\\\username or compuername\\\\username

很高興FileName就足夠了

IIS要求服務器計算機中文件夾的路徑具有Anonymous用戶登錄名訪問權限。

確保用戶Anonymous有權訪問該文件夾。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM