Exemplo n.º 1
0
        /// <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);
        }
Exemplo n.º 2
0
        /// <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);
        }