Ejemplo n.º 1
0
 private void ExecuteHandler(OneWayRequest request, IOneWayRequestHandler handler)
 {
     try
     {
         BeforeHandle(request);
         handler.Handle(request);
         AfterHandle(request);
     }
     catch (Exception e)
     {
         OnHandlerException(request, e);
     }
 }
Ejemplo n.º 2
0
 public void ProcessOneWayRequestsAsync(OneWayRequest[] requests, Action<AsyncCompletedEventArgs> callback)
 {
     var worker = new BackgroundWorker();
     worker.DoWork += (sender, args) => args.Result = requestProcessor.Process(requests);
     worker.RunWorkerCompleted += (sender, args) =>
     {
         if (args.Error == null)
         {
             callback(new AsyncCompletedEventArgs(null, false, null));
         }
         else
         {
             callback(new AsyncCompletedEventArgs(args.Error, false, null));
         }
     };
     worker.RunWorkerAsync();
 }
Ejemplo n.º 3
0
 protected virtual void OnHandlerException(OneWayRequest request, Exception exception)
 {
     logger.Error("RequestProcessor: unhandled exception while handling request!", exception);
 }
Ejemplo n.º 4
0
 private void ExecuteHandler(OneWayRequest request, IOneWayRequestHandler handler)
 {
     BeforeHandle(request);
     handler.Handle(request);
     AfterHandle(request);
 }
Ejemplo n.º 5
0
 private void DispatchRequestsToHandlers(OneWayRequest[] requests)
 {
     foreach (var request in requests)
     {
         using (var handler = (IOneWayRequestHandler)IoC.Container.Resolve(GetHandlerTypeFor(request)))
         {
             try
             {
                 ExecuteHandler(request, handler);
             }
             finally
             {
                 IoC.Container.Release(handler);
             }
         }
     }
 }
Ejemplo n.º 6
0
 /// <summary>
 /// Called when [handler exception].
 /// </summary>
 /// <param name="request">The request.</param>
 /// <param name="exception">The exception.</param>
 protected virtual void OnHandlerException(OneWayRequest request, Exception exception)
 {
     _logger.Error(string.Format("{0}: unhandled exception while handling request!", GetType().Name), exception);
 }
 /// <summary>
 /// Called when a handler exception occurs.
 /// </summary>
 /// <param name="request">The request.</param>
 /// <param name="exception">The exception.</param>
 protected override void OnHandlerException(OneWayRequest request, Exception exception)
 {
     _committable = false;
     if (ShouldLogException(exception))
     {
         PopulateExceptionData(exception);
         base.OnHandlerException(request, exception);
     }
 }
Ejemplo n.º 8
0
 public abstract void Handle(OneWayRequest request);
Ejemplo n.º 9
0
 public void ProcessOneWayRequestsAsync(OneWayRequest[] requests, Action<AsyncCompletedEventArgs> callback)
 {
     var asyncResult = BeginProcessOneWayRequests(requests, null, null);
     ThreadPool.RegisterWaitForSingleObject(asyncResult.AsyncWaitHandle,
         (state, timedout) => ProcessOneWayRequestsCompleted((IAsyncResult)state, callback), asyncResult, -1, true);
 }
Ejemplo n.º 10
0
 public IAsyncResult BeginProcessOneWayRequests(OneWayRequest[] requests, AsyncCallback callback, object asyncState)
 {
     return processOneWayRequestsAction.BeginInvoke(requests, callback, asyncState);
 }
 public ProcessOneWayRequestsInputElement(IOneWayRequestHandler requestHandler, OneWayRequest request)
 {
     RequestHandler = requestHandler;
     Request = request;
 }
Ejemplo n.º 12
0
 private void ExecuteHandler(OneWayRequest request, IOneWayRequestHandler handler)
 {
     BeforeHandle(request);
     handler.Handle(request);
     AfterHandle(request);
 }
Ejemplo n.º 13
0
 public IAsyncResult BeginProcessOneWayRequests(OneWayRequest[] requests, AsyncCallback callback, object asyncState)
 {
     throw new NotSupportedException();
 }
Ejemplo n.º 14
0
        private void DispatchRequestsToHandlers(OneWayRequest[] requests)
        {
            foreach (var request in requests)
            {
                try
                {
                    BeforeResolvingRequestHandler(request);

                    using (var handler = (IOneWayRequestHandler)IoC.Container.Resolve(GetOneWayRequestHandlerTypeFor(request)))
                    {
                        try
                        {
                            ExecuteHandler(request, handler);
                        }
                        finally
                        {
                            IoC.Container.Release(handler);
                        }
                    }
                }
                catch (Exception e)
                {
                    logger.Error(e);
                    throw;
                }
            }
        }
Ejemplo n.º 15
0
 protected virtual void OnHandlerException(OneWayRequest request, Exception exception)
 {
 }
Ejemplo n.º 16
0
 private void ExecuteHandler(OneWayRequest request, IOneWayRequestHandler handler)
 {
     try
     {
         BeforeHandle(request);
         handler.Handle(request);
         AfterHandle(request);
     }
     catch (Exception e)
     {
         OnHandlerException(request, e);
     }
 }
Ejemplo n.º 17
0
 public abstract void Handle(OneWayRequest request);
Ejemplo n.º 18
0
 /// <summary>
 /// Called when [handler exception].
 /// </summary>
 /// <param name="request">The request.</param>
 /// <param name="exception">The exception.</param>
 protected virtual void OnHandlerException(OneWayRequest request, Exception exception)
 {
     _logger.Error(string.Format("{0}: unhandled exception while handling request!", GetType().Name), exception);
 }
 public ProcessOneWayRequestsInputElement(IOneWayRequestHandler requestHandler, OneWayRequest request)
 {
     RequestHandler = requestHandler;
     Request = request;
 }
Ejemplo n.º 20
0
 protected virtual void OnHandlerException(OneWayRequest request, Exception exception)
 {
 }
Ejemplo n.º 21
0
 protected virtual void OnHandlerException(OneWayRequest request, Exception exception)
 {
     logger.Error("RequestProcessor: unhandled exception while handling request!", exception);
 }