Пример #1
0
 private void DoPush(Request request)
 {
     if (!DuplicateRemover.IsDuplicate(request) || ShouldReserved(request))
     {
         PushWhenNoDuplicate(request);
     }
 }
        /// <summary>
        /// 批量导入
        /// </summary>
        /// <param name="requests">请求对象</param>
        public override void Reload(ICollection <Request> requests)
        {
            if (requests == null)
            {
                return;
            }

            lock (_lock)
            {
                _queue.Clear();
                foreach (var request in requests)
                {
                    if (!DuplicateRemover.IsDuplicate(request))
                    {
                        _queue.Add(request);
                    }
                }
            }
        }
        /// <summary>
        /// 添加请求对象到队列
        /// </summary>
        /// <param name="request">请求对象</param>
        public void Push(Request request)
        {
            var action = new Action(() =>
            {
                if (!DuplicateRemover.IsDuplicate(request))
                {
                    PushWhenNoDuplicate(request);
                }
            });

            if (UseInternet)
            {
                NetworkCenter.Current.Execute("sch-push", action);
            }
            else
            {
                action();
            }
        }