GetCurrentKey() public method

获取当前等待执行的Key
public GetCurrentKey ( ) : string
return string
Esempio n. 1
0
 /// <summary>
 /// 操作队列
 /// </summary>
 public static void OperateQueue()
 {
     lock (FlushCacheLock)
     {
         var mq  = new SenparcMessageQueue();
         var key = mq.GetCurrentKey(); //获取最新的Key
         while (!string.IsNullOrEmpty(key))
         {
             var mqItem = mq.GetItem(key); //获取任务项
             mqItem.Action();              //执行
             mq.Remove(key);               //清除
             key = mq.GetCurrentKey();     //获取最新的Key
         }
     }
 }
 /// <summary>
 /// 操作列队
 /// </summary>
 public static void OperateQueue()
 {
     lock (FlushCacheLock)
     {
         var mq = new SenparcMessageQueue();
         var key = mq.GetCurrentKey(); //获取最新的Key
         while (!string.IsNullOrEmpty(key))
         {
             var mqItem = mq.GetItem(key); //获取任务项
             mqItem.Action(); //执行
             mq.Remove(key); //清除
             key = mq.GetCurrentKey(); //获取最新的Key
         }
     }
 }
 public void Run()
 {
     do
     {
         var mq = new SenparcMessageQueue();
         var key = mq.GetCurrentKey();//获取最新的Key
         while (!string.IsNullOrEmpty(key))
         {
             var mqItem = mq.GetItem(key);//获取任务项
             mqItem.Action();//执行
             mq.Remove(key);//清除
             key = mq.GetCurrentKey();//获取最新的Key
         }
         Thread.Sleep(_sleepMilliSeconds);
     } while (true);
 }
 /// <summary>
 /// 操作列队
 /// </summary>
 private void OperateQueue()
 {
     var mq = new SenparcMessageQueue();
     var key = mq.GetCurrentKey(); //获取最新的Key
     while (!string.IsNullOrEmpty(key))
     {
         var mqItem = mq.GetItem(key); //获取任务项
         mqItem.Action(); //执行
         mq.Remove(key); //清除
         key = mq.GetCurrentKey(); //获取最新的Key
     }
 }
        public void TestAll()
        {
            var mq = new SenparcMessageQueue();
            var count = mq.GetCount();
            var key = DateTime.Now.Ticks.ToString();

            //Test Add()
            var item = mq.Add(key, () => WeixinTrace.Log("测试SenparcMessageQueue写入Key=A"));
            Assert.AreEqual(count+1,mq.GetCount());
            //var hashCode = item.GetHashCode();

            //Test GetCurrentKey()
            var currentKey = mq.GetCurrentKey();
            Assert.AreEqual(key,currentKey);

            //Test GetItem
            var currentItem = mq.GetItem(currentKey);
            Assert.AreEqual(currentItem.Key,item.Key);
            Assert.AreEqual(currentItem.AddTime,item.AddTime);

            //Test Remove
            mq.Remove(key);
            Assert.AreEqual(count, mq.GetCount());
        }