public static void CreateFile(string filePath, int tries, int tryTimeout, CreateFileEventHandler createFileHandler = 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) { LoopCreate(filePath, tries, tryTimeout, createFileHandler); }; deletor.Start(); } }
protected static void LoopCreate(string filePath, int tries, int tryTimeout, CreateFileEventHandler createFileHandler = null) { bool success = false; for (int i = 0; i < tries; i++) { if (TryCreateFile(filePath)) { success = true; break; } System.Threading.Thread.Sleep(tryTimeout); } if (createFileHandler != null) { createFileHandler(success); } }
public static void CreateFile(string filePath, CreateFileEventHandler createFileHandler = null) { CreateFile(filePath, CreateTries, CreateTimeout, createFileHandler); }