我創建了一個從服務器刪除圖像的簡單方法。刪除活動服務器上的圖像的正確方法
public static void deleteImage(string deletePath)
{
if (!File.Exists(deletePath))
{
FileNotFoundException ex = new FileNotFoundException();
throw ex;
}
try
{
File.Delete(deletePath);
}
catch (IOException ex)
{
throw ex;
}
catch (Exception ex)
{
throw ex;
}
}
的方法Visual Studio開發服務器上的偉大工程,但是當我嘗試一下現場服務器上使用IIS我不斷收到一個錯誤說的資源在使用中。它經過大約10次嘗試後最終奏效,但我買不起這個。
也許我需要「鎖定」該文件才能在IIS上工作?
謝謝!
爲什麼你捕捉異常,只是爲了拋出它們?另外,最好只做一個'throw;'而不是'throw ex;',這樣保持原始堆棧跟蹤。 –
我總是處理外層的異常(即調用方法)。所以這個異常就會被拋出,並以任何稱爲它的方法被捕獲。 – TheGateKeeper
如果您刪除了try/catch,那麼異常仍會傳播到上一級。只是一個'catch(Exception ex){throw ex; }'除了破壞原始堆棧跟蹤外,沒有任何用處。 –