2008-10-09 23 views
1

我發現了一個間歇假陰性以下行的代碼在ASP.NET 2 web siteSystem.IO.Directory.Exists是給間歇假陰性

if (!System.IO.Directory.Exists(folder)) 

的文件夾中明顯存在,甚至包含一個日誌文件,當CLR不存在該文件夾的存在時,該日誌文件將被寫入。任何幫助,將不勝感激。

回答

5

如果發生任何類型的IO錯誤,Exists()將返回false而不是拋出錯誤。有一點需要注意的是安全性錯誤。 Exists不執行網絡身份驗證,因此,如果您訪問網絡共享,至少需要根據文檔進行身份驗證,則需要進行預先身份驗證。我沒有自己嘗試過。

+0

有趣的是,共享文件夾,雖然我沒有設置共享。也許添加一個IIS用戶意味着它應該被共享,並且它只是做了它?當我嘗試停止共享時,進度對話就會掛起。 – ProfK 2008-10-09 19:25:26

3

是否可以在asp.net工作進程上執行proc mon並驗證它是否實際檢查該特定文件夾的存在?檢查結果代碼以解決任何拒絕訪問錯誤。

+0

我的問題是我無法可靠地重現錯誤。它只是偶爾發生。 – ProfK 2008-10-09 19:23:32

0

什麼是變量「文件夾」的調試時間值? 它是一個存在於網站目錄之外的文件夾嗎?

+0

它作爲網站目錄的子目錄存在。 – ProfK 2008-10-09 19:22:48