/// <summary> /// Отмена выполнения /// </summary> /// <param name="waiterID"></param> /// <returns></returns> public bool TryCancelWaiter(Guid waiterID) { ArchivesWaiter <T1> waiter = null; // создаем сборку если новая, или берем из словаря if (!ArchivesLoaderDict.TryGetValue(waiterID, out waiter) || waiter == null) { return(false); } waiter.Cancel(); return(true); }
/// <summary> /// Получить новый ожидатель /// </summary> /// <param name="waiterID"></param> /// <returns></returns> public ArchivesWaiter <T1> GetWaiter(Guid waiterID, Task <T1> singleResultTask = null) { ArchivesWaiter <T1> waiter = null; // создаем сборку если новая, или берем из словаря if (!ArchivesLoaderDict.TryGetValue(waiterID, out waiter)) { waiter = new ArchivesWaiter <T1>(RemoveWaiter, waiterID, singleResultTask); ArchivesLoaderDict.TryAdd(waiterID, waiter); } return(waiter); }