Asp.Net的一個文件訪問權限錯誤之解決

錯誤描述如下
在windows 2003下安裝了VS2003,在運行web應用程序的時候出現一下錯誤:對路徑“C:\WINDOWS\ Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files\....”的訪問被拒絕。
 
說明: 執行當前 Web 請求期間,出現未處理的異常。請檢查堆棧跟蹤信息,以瞭解有關該錯誤以及代碼中導致錯誤的出處的詳細信息。 
異常詳細信息: System.UnauthorizedAccessException: 對路徑“C:\WINDOWS\ Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files\....”的訪問被拒絕。 
ASP.NET 未被授權訪問所請求的資源。請考慮授予 ASP.NET 請求標識訪問此資源的權限。ASP.NET 有一個在應用程序沒有模擬時 使用的基進程標識(通常,在 IIS5 上爲 {MACHINE}\ASPNET,在 IIS6 上爲網絡服務)。如果應用程序正在通過 < identity impersonate="true"/> 模擬,則標識將爲匿名用戶(通常爲IUSR_MACHINENAME)或經過身份驗 證的請求用戶。

解決辦法
由於在iis 6.0中,默認的應用程序池中的標示用的是Network Service,所以在進程中是使用Network Service這個 帳號運行來運行w3wp.exe進程,而當我們在運行VS 2003的時候是需要對C:\WINDOWS\Microsoft.NET\ Framework\v1.1.4322\Temporary ASP.NET Files\目錄下進行讀寫操作的,所以看了一下該文件夾,發現沒有 Network Service,添加上該賬號,同時選上FULL CONTROL,問題解決,但是至於爲什麼會產生這個問題我不大清楚,因爲在安裝 WINDOWS 2003的時候,Network Service賬號是存在於Temporary ASP.NET Files該文件夾安全列表中的。
順便提一下,在IIS6.0中的默認應用程序池-->屬性-->標示中把Net Service改成Local System該問題也可以解決。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章