public static IProcessCallback SetCallback(IProcessCallback _callback) { IProcessCallback oldCallback = callback; callback = _callback; return(oldCallback); }
//public async void TaskProcess() //{ // await Task.Run() => { } // for (int i = 0; i <= 100; i++) // { // Thread.Sleep(50); // OperationContext.Current.GetCallbackChannel<IProcessCallback>().TaskProgress(i); // } //} async void IProcess.TaskProcess() { IProcessCallback callback = OperationContext.Current.GetCallbackChannel <IProcessCallback>(); if (!processCallbacks.Contains(callback)) { processCallbacks.Add(callback); } await TaskProcessDoWork(); }
public static void FindEntryPoint(Snippet snippet, out string fileName, out int lineNumber) { FindFirstTraceCallback firstTrace = new FindFirstTraceCallback(); IProcessCallback _callback = SetCallback(firstTrace); try { try { snippet(null); } catch (FindFirstTraceException) { } fileName = firstTrace.FileName; lineNumber = firstTrace.LineNumber; } finally { SetCallback(_callback); } }
public static IProcessCallback SetCallback( IProcessCallback _callback ) { IProcessCallback oldCallback = callback; callback = _callback; return oldCallback; }