예제 #1
0
 public void Initialize()
 {
     Initialize_exception_handler();
     NuntiusConfiguration.CommunicationExceptionStrategy = CommunicationExceptionStrategy.ContinueFlow;
     exceptionHandler = e => distributedException = e;
     NuntiusConfiguration.Exception += exceptionHandler;
 }
예제 #2
0
 public void Initialize()
 {
     Initialize_exception_handler();
     exceptionHandler += m => _exceptionMessage = m;
     NuntiusConfiguration.Exception += exceptionHandler;
     NuntiusConfiguration.CommunicationExceptionStrategy = CommunicationExceptionStrategy.StopFlow;
     _result = new List<string>();
     _first = new TestFilter(EventSourceCallbackMonitoringOptions.CheckTaskException, m => { });
     _second = new TestFilter(EventSourceCallbackMonitoringOptions.CheckTaskException, m => { if (m["data"] == "B") throw new Exception(); });
     _third = new TestFilter(EventSourceCallbackMonitoringOptions.CheckTaskException, m => { _result.Add(m["data"]); });
     _first.LinkTo(_second).LinkTo(_third);
 }
예제 #3
0
 public void Initialize()
 {
     NuntiusConfiguration.Exception += e => { _distributedException = e; };
     _first = new TestFilter(null, null, null);
     _second = new TestFilter(null, null, () => { throw new NullReferenceException(); });
     _first.LinkTo(_second);
 }
예제 #4
0
 /// <summary>
 /// Callback which is called when no more messages are generated by the event source.
 /// </summary>
 public void EndProcessing()
 {
     Task.Factory.StartNew(() =>
     {
         lock (_lock)
         {
             _endInvoked = true;
         }
         SafelyInvokeEndEvent();
     }).ContinueWith(t =>
     {
         var nuntiusException = new NuntiusCommunicationException(null, this,
             CommunicationExceptionOrigin.EndHandler,
             new ReadOnlyCollection<Exception>(new List<Exception>() { t.Exception }));
         NuntiusConfiguration.DistributeException(nuntiusException);
     }, TaskContinuationOptions.OnlyOnFaulted | TaskContinuationOptions.ExecuteSynchronously);
 }