private async void HttpListener_OnConnectionReceived(StreamSocketListener arg1, StreamSocketListenerConnectionReceivedEventArgs arg2) { _streamSocketAdapter.Initialize(arg2.Socket); var actionCommand = await _streamSocketAdapter.ReadInputAsync(); _workerDispatcher.Dispatch(actionCommand); }
static void Main(string[] args) { var dispatcher = new WorkerDispatcher( onException: e => Console.Error.Write(e), priority: ThreadPriority.AboveNormal, threadCount: 10, faultBufferSize: 2); for (int i = 0; i < 100; i++) { int number = i; dispatcher.Dispatch(() => { Thread.Sleep(100); if (number == 81) { throw new NotImplementedException("Encountered 81!"); } Console.WriteLine(number); }); } Console.WriteLine("Done dispatching"); Console.ReadLine(); dispatcher.Stop(); foreach (var fault in dispatcher.Faults) { Console.WriteLine(fault); Console.WriteLine("Dispatcher Trace: "); foreach (var frame in fault.DispatcherStack) { Console.WriteLine(frame); } Console.WriteLine("Exception Trace: "); foreach (var frame in fault.ExceptionStack) { Console.WriteLine(frame); } } Console.ReadLine(); }