示例#1
0
 private void RunHandlerTask(IConnectionHandler handler, HandlerContext context)
 {
     var handlerTask = Task.Run(async () =>
     {
         if (handler is IAsyncConnectionHandler)
         {
             await ((IAsyncConnectionHandler)handler).ProcessAsync(context);
         }
         else
         {
             await Task.Run(() => handler.Process(context));
         }
     }).ContinueWith(t =>
     {
         if (t.IsFaulted)
         {
             OnHandlerTaskError(handler, context);
         }
     });
     activeHandlerTasks.Add(handlerTask);
 }