public static void DeleteFile(string filePath, int tries, int tryTimeout, DeleteFileEventHandler deleteFileHandler = null) { if (File.Exists(filePath)) { GUC.Utilities.Threading.Runnable deletor = new GUC.Utilities.Threading.Runnable(false, TimeSpan.Zero, true); deletor.OnRun += delegate(GUC.Utilities.Threading.Runnable sender) { LoopDelete(filePath, tries, tryTimeout, deleteFileHandler); }; deletor.Start(); } }
protected static void LoopDelete(string filePath, int tries, int tryTimeout, DeleteFileEventHandler deleteFileHandler = null) { bool success = false; for (int i = 0; i < tries; i++) { if (TryDeleteFile(filePath)) { success = true; break; } System.Threading.Thread.Sleep(tryTimeout); } if (deleteFileHandler != null) { deleteFileHandler(success); } }
public static void DeleteFile(string filePath, DeleteFileEventHandler deleteFileHandler = null) { DeleteFile(filePath, DeleteTries, DeleteTimeout, deleteFileHandler); }