private async ValueTask DisposeImpl(bool isAsync)
        {
            if (ActiveTasks != null)
            {
                ActiveTasks.Clear();
                ActiveTasks = null;
            }

            if (ProcessingTasks != null)
            {
                ProcessingTasks.Clear();
                ProcessingTasks = null;
            }

            if (ActiveCommand != null)
            {
                if (isAsync)
                {
                    await ActiveCommand.DisposeAsync().ConfigureAwait(false);
                }
                else
                {
                    ActiveCommand.Dispose();
                }

                ActiveCommand = null;
            }

            NotifyDisposed();
        }
示例#2
0
 public void ActivateAll()
 {
     ActiveTasks.Clear();
     foreach (var task in tasks)
     {
         ActiveTasks.Add(task.Key, task.Value as T);
     }
 }
示例#3
0
 public void Dispose()
 {
     if (ActiveTasks != null)
     {
         ActiveTasks.Clear();
         ActiveTasks = null;
     }
     if (ProcessingTasks != null)
     {
         ProcessingTasks.Clear();
         ProcessingTasks = null;
     }
     if (ActiveCommand != null)
     {
         ActiveCommand.Dispose();
         ActiveCommand = null;
     }
     NotifyDisposed();
 }
示例#4
0
 public void DeactivateAll()
 {
     ActiveTasks.Clear();
 }