2011-12-07 106 views
0

在我的web應用程序,由ASP.NET v4.0的應用程序池在IIS 7.5託管, 刪除駐留在應用程序文件時的所謂物理路徑 (HostingEnvironment.ApplicationPhysicalPath),文件被刪除,但是UnauthorizedAccessException被拋出。File.Delete刪除文件,還是拋出UnauthorizedAccessException

我已經嘗試將該目錄的所有權限授予所有用戶(用戶「Everyone」,用戶「ASP.NET v4.0」,它應該是IIS 7.5中重要的用戶)網絡服務「,...),無濟於事。

現在,如果將要刪除的文件的路徑更改爲子目錄或磁盤上的任何其他絕對路徑,則該文件將被刪除而不會有任何例外。

我該如何解決這個問題?

或者它被認爲是一個糟糕的做法,一個Web應用程序從物理路徑中刪除一個文件(即使它把它放在第一位,在我的情況下,它是一個日誌文件)?

更新在此期間,我的工作圍繞它通過使用一個子目錄爲我的日誌文件,這是有道理的,無論如何,但我仍然有興趣在爲什麼會出現異常,如果有一個修復。

回答

0

通過說'你授予了所有用戶的權限',你的意思是你使用'Everyone'用戶標記了目錄嗎?如果沒有檢查它是否是基於權限的錯誤,因爲它可能是有趣的Windows UAC。 UAC阻止您在未經許可的情況下寫入某些文件夾。

如果一切正常,一旦你已經設置權限給大家,查看哪些用戶帳戶的應用程序池下運行,並嘗試將權限授予該帳戶。

+0

我給所有權限到每個人,以及以「ASP.NET 4.0版」的用戶,該目錄的文件在前面提到過,我不相信這是一個用戶權限問題,否則,文件不會被刪除。加上具有相同的權限,它可以在項目物理路徑以外的目錄中工作。 –

相關問題