Beispiel #1
0
 private void Read_Task()
 {
     using (new ActivityTracer("Read async"))
     {
         foreach (var parserTask in _asyncTaskQueue.GetConsumingEnumerable())
         {
             parserTask.RunSynchronously();
             if (parserTask.Exception != null)
             {
                 bool is_fatal = !CanHandleException(parserTask.Exception);
                 if (TaskReadExceptionOccurred != null)
                 {
                     TaskReadExceptionOccurred(parserTask, new UnhandledExceptionEventArgs(parserTask.Exception, is_fatal));
                 }
                 if (is_fatal)
                 {
                     ActivityTracer.Error(parserTask.Exception);
                     throw parserTask.Exception;
                 }
                 else
                 {
                     ActivityTracer.Warn(parserTask.Exception);
                 }
             }
         }
     }
 }