2011-10-01 51 views
0

我的主持人發誓ASPNet帳戶具有完全訪問某些照片所在的文件夾的權限。我試圖刪除照片,這裏是C#:從靜態方法中刪除文件錯誤:訪問路徑...被拒絕

public static bool Delete(string pathAndFilename) 
{ 
    var path = HttpContext.Current.Server.MapPath(pathAndFilename); 
    File.Delete(path); 
} 

(在完整的代碼,那裏面有一個try catch和布爾返回值)

更新:這是發生在當地的發展框現在也。這是我能夠嘗試的。

我將當前用戶放入ViewBag中,並將其顯示在頁面上。

ViewBag.Account = HttpContext.User.Identity.Name; 

在開發中,它顯示了我當前登錄的用戶帳戶,該帳戶擁有的所有文件和文件夾中的項目的完全控制。

我檢查了打開的文件,我試圖刪除的照片未打開。

將嘗試捕獲更詳細的例外情況。感謝迄今爲止的想法!

+6

放心,它與靜態方法無關 – BrokenGlass

+0

謝謝......我可以排除這一點。感謝。 – Chaddeus

+1

訪問被拒絕也意味着另一個進程正在使用該文件。兩件事情相同的錯誤,確保你正在處理訪問該文件的'Stream's。 –

回答

0

IUSR?這應該是網絡服務或ASPNET帳戶(取決於IIS的版本)

編輯:也沒有理由給予IUSR完全訪問權限。它只需要讀取權限。

+1

只有讀權限才能刪除文件? –

+0

只讀取不是其應用程序正在運行的用戶的IIS用戶。 –

+0

是的,對不起...我的意思是ASPNet用戶,提供閱讀障礙! – Chaddeus

0

如果使用完全限定的路徑(「C:\ foo」)或者字符串不可識別爲路徑,它將拋出HttpException。

如果您確切地描述了您所看到的內容,這將有所幫助。

+0

好的,我會抓住它......感謝提示 – Chaddeus