public static Timeout AddTimeout(TimeSpan begin, TimeSpan timespan, IRepeatBehavior repeat, object data, TimeoutCallback callback) { Timeout t = new Timeout(begin, timespan, repeat, data, callback); ITimerWatcher timer; timer = context.CreateTimerWatcher(begin, timespan, delegate { t.Run(app); if (!t.ShouldContinueToRepeat()) { t.Stop(); timer.Dispose(); } }); timer.Start(); return(t); }
public static Timeout AddTimeout(TimeSpan begin, TimeSpan timespan, IRepeatBehavior repeat, object data, TimeoutCallback callback) { Timeout t = new Timeout (begin, timespan, repeat, data, callback); ITimerWatcher timer = null; timer = context.CreateTimerWatcher (begin, timespan, delegate { t.Run (app); if (!t.ShouldContinueToRepeat ()) { t.Stop (); timer.Dispose (); } }); timer.Start (); return t; }