示例#1
0
 protected virtual void OnDependenciesMet(StateHandlerContext stateHandlerContext)
 {
     Task.Run(async delegate
     {
         try
         {
             await Task.Delay(TimeSpan.FromMilliseconds(50), stateHandlerContext.CancellationToken);
             if (!stateHandlerContext.CancellationToken.IsCancellationRequested)
             {
                 DoWork(stateHandlerContext);
             }
         }
         catch (TaskCanceledException)
         {
             stateHandlerContext.Cancel();
         }
         catch (Exception ex)
         {
             OnException(ex);
             stateHandlerContext.Cancel();
         }
         finally
         {
             stateHandlerContext = null;
         }
     }, stateHandlerContext.CancellationToken);
 }
示例#2
0
 protected abstract void DoWork(StateHandlerContext stateHandlerContext);
示例#3
0
 protected virtual void OnDependenciesNotMet(StateHandlerContext stateHandlerContext)
 {
 }