コード例 #1
0
 public DiagnosticBehavior(IRequestTrace trace, IDebugDetector detector, IOutputWriter writer,
     IExceptionHandlingObserver exceptionObserver)
 {
     _trace = trace;
     _detector = detector;
     _writer = writer;
     _exceptionObserver = exceptionObserver;
 }
コード例 #2
0
 public DiagnosticBehavior(IRequestTrace trace, IDebugDetector detector, IOutputWriter writer,
                           IExceptionHandlingObserver exceptionObserver)
 {
     _trace             = trace;
     _detector          = detector;
     _writer            = writer;
     _exceptionObserver = exceptionObserver;
 }
コード例 #3
0
        protected override void beforeEach()
        {
            _insideBehavior               = new DoNothingBehavior();
            _exceptionHandler             = MockFor <IExceptionHandler>();
            _observer                     = MockFor <IExceptionHandlingObserver>();
            ClassUnderTest.InsideBehavior = _insideBehavior;
            var testTask = new Task(() => ClassUnderTest.Invoke());

            testTask.RunSynchronously();
        }
コード例 #4
0
        protected override void beforeEach()
        {
            _argumentException = new ArgumentException("Failed");
            _exceptionHandler  = MockFor <IExceptionHandler>();
            _observer          = MockFor <IExceptionHandlingObserver>();
            _exceptionHandler.Expect(x => x.ShouldHandle(_argumentException)).Return(false);
            ClassUnderTest.InsideBehavior = new AsyncThrowingBehavior(_argumentException);
            var testTask = new Task(() => ClassUnderTest.Invoke());

            testTask.Start();
            _exception = Assert.Throws <AggregateException>(testTask.Wait);
        }
コード例 #5
0
 public static void FinishProcessingTask(this Task task, IExceptionHandlingObserver observer)
 {
     if (task.IsFaulted)
     {
         var aggregateException = task.Exception.Flatten();
         var allHandled         = aggregateException.InnerExceptions.All(observer.WasObserved);
         if (!allHandled)
         {
             task.Wait();
         }
     }
 }
コード例 #6
0
ファイル: AsyncExtensions.cs プロジェクト: jemacom/fubumvc
 public static void FinishProcessingTask(this Task task, IExceptionHandlingObserver observer)
 {
     if (task.IsFaulted)
      {
          var aggregateException = task.Exception.Flatten();
          var allHandled = aggregateException.InnerExceptions.All(observer.WasObserved);
          if (!allHandled)
          {
              task.Wait();
          }
      }
 }
コード例 #7
0
 public DiagnosticBehavior(IRequestTrace trace, IExceptionHandlingObserver exceptionObserver)
 {
     _trace = trace;
     _exceptionObserver = exceptionObserver;
 }
コード例 #8
0
 public AsyncInterceptExceptionBehavior(IEnumerable<IExceptionHandler> exceptionHandlers, IExceptionHandlingObserver exceptionHandlingObserver)
 {
     _exceptionHandlers = exceptionHandlers;
     _exceptionHandlingObserver = exceptionHandlingObserver;
 }
コード例 #9
0
 public AsyncInterceptExceptionBehavior(IEnumerable <IExceptionHandler> exceptionHandlers, IExceptionHandlingObserver exceptionHandlingObserver)
 {
     _exceptionHandlers         = exceptionHandlers;
     _exceptionHandlingObserver = exceptionHandlingObserver;
 }
コード例 #10
0
ファイル: DiagnosticBehavior.cs プロジェクト: xeno3/fubumvc
 public DiagnosticBehavior(IRequestTrace trace, IExceptionHandlingObserver exceptionObserver)
 {
     _trace             = trace;
     _exceptionObserver = exceptionObserver;
 }
コード例 #11
0
 public BehaviorTracer(BehaviorCorrelation correlation, ILogger logger, IExceptionHandlingObserver exceptionObserver)
 {
     _correlation       = correlation;
     _logger            = logger;
     _exceptionObserver = exceptionObserver;
 }
コード例 #12
0
 public BehaviorTracer(BehaviorCorrelation correlation, IRequestTrace trace, IExceptionHandlingObserver exceptionObserver)
 {
     _correlation = correlation;
     _trace = trace;
     _exceptionObserver = exceptionObserver;
 }
コード例 #13
0
 public BehaviorTracer(BehaviorCorrelation correlation, IRequestTrace trace, IExceptionHandlingObserver exceptionObserver)
 {
     _correlation       = correlation;
     _trace             = trace;
     _exceptionObserver = exceptionObserver;
 }
コード例 #14
0
 public BehaviorTracer(BehaviorCorrelation correlation, ILogger logger, IExceptionHandlingObserver exceptionObserver)
 {
     _correlation = correlation;
     _logger = logger;
     _exceptionObserver = exceptionObserver;
 }