Ejemplo n.º 1
0
 private void OnExecute(IActionResultHandler resultHandler)
 {
     try
     {
         if (FilterExecuting())
         {
             try
             {
                 Result = Handler.Invoke(Controller, HttpContext, ActionHandlerFactory, Parameters);
             }
             catch (Exception error)
             {
                 Exception = error;
             }
             finally
             {
                 FilterExecuted();
             }
             if (Exception != null)
             {
                 resultHandler.Error(Exception);
             }
             else
             {
                 resultHandler.Success(Result);
             }
         }
     }
     catch (Exception e_)
     {
         resultHandler.Error(e_);
     }
 }
Ejemplo n.º 2
0
 private async void OnAsyncExecute(IActionResultHandler resultHandler)
 {
     HttpContext.Server.RequestExecting();
     try
     {
         if (FilterExecuting())
         {
             try
             {
                 var   task = (Task)Handler.Invoke(Controller, HttpContext, ActionHandlerFactory, Parameters);
                 await task;
                 if (Handler.PropertyHandler != null)
                 {
                     Result = Handler.PropertyHandler.Get(task);
                 }
                 else
                 {
                     Result = null;
                 }
             }
             catch (Exception error)
             {
                 Exception = error;
             }
             finally
             {
                 FilterExecuted();
             }
         }
         if (Exception != null)
         {
             Handler.IncrementError();
             resultHandler.Error(Exception);
         }
         else
         {
             resultHandler.Success(Result);
         }
     }
     catch (Exception e_)
     {
         Handler.IncrementError();
         resultHandler.Error(e_);
     }
     finally
     {
         HttpContext.Server.RequestExecuted();
     }
 }
Ejemplo n.º 3
0
 internal void Execute(IActionResultHandler resultHandler)
 {
     if (Handler.ValidateRPS())
     {
         Handler.IncrementRequest();
         if (Handler.ThreadQueue == null || Handler.ThreadQueue.Type == ThreadQueueType.None)
         {
             if (Handler.Async)
             {
                 OnAsyncExecute(resultHandler);
             }
             else
             {
                 OnExecute(resultHandler);
             }
         }
         else
         {
             ActionTask actionTask = new ActionTask(this, resultHandler);
             var        queue      = Handler.ThreadQueue.GetQueue(this.HttpContext);
             this.HttpContext.Queue = queue;
             queue.Enqueue(actionTask);
         }
     }
     else
     {
         Handler.IncrementError();
         resultHandler.Error(new Exception($"{Handler.SourceUrl} process error,out of max rps!"), EventArgs.LogType.Warring, 509);
     }
 }
Ejemplo n.º 4
0
 internal void Execute(IActionResultHandler resultHandler)
 {
     if (Handler.ValidateRPS())
     {
         Handler.IncrementRequest();
         if (Handler.Async)
         {
             OnAsyncExecute(resultHandler);
         }
         else
         {
             OnExecute(resultHandler);
         }
     }
     else
     {
         Handler.IncrementError();
         resultHandler.Error(new Exception($"{Handler.SourceUrl} process error,out of max rps!"), EventArgs.LogType.Warring, 509);
     }
 }