Beispiel #1
0
 /// <summary>
 /// 获取缓存数据
 /// </summary>
 /// <param name="connection"></param>
 internal override void RunLinkQueueTask(ref DbConnection connection)
 {
     try
     {
         ReturnValue <ListArray <valueType> > listArray = queue.getList(ref connection, key);
         if (listArray.ReturnType == ReturnType.Success)
         {
             Value = listArray.Value.Array.GetArray();
         }
         else
         {
             Value = listArray.ReturnType;
         }
     }
     catch (Exception error)
     {
         Value = error;
     }
     finally
     {
         IsCompleted = true;
         if (continuation != null || System.Threading.Interlocked.CompareExchange(ref continuation, Common.EmptyAction, null) != null)
         {
             continuation();
         }
     }
 }
Beispiel #2
0
 /// <summary>
 /// 获取数据
 /// </summary>
 /// <param name="connection"></param>
 internal override void RunLinkQueueTask(ref DbConnection connection)
 {
     try
     {
         value = new LeftArray <valueType>(queue.getList(ref connection, key)).FirstOrDefault(isValue);
     }
     finally
     {
         wait.Set();
     }
 }
Beispiel #3
0
 /// <summary>
 /// 获取数据
 /// </summary>
 /// <param name="connection"></param>
 internal override Threading.LinkQueueTaskNode RunLinkQueueTask(ref DbConnection connection)
 {
     try
     {
         value = new LeftArray <valueType>(queue.getList(ref connection, key)).FirstOrDefault(isValue);
     }
     finally
     {
         wait.Set();
     }
     return(LinkNext);
 }
Beispiel #4
0
 /// <summary>
 /// 获取缓存数据
 /// </summary>
 /// <param name="connection"></param>
 internal override void RunLinkQueueTask(ref DbConnection connection)
 {
     try
     {
         Value = new LeftArray <valueType>(queue.getList(ref connection, key)).GetArray();
     }
     finally
     {
         if (System.Threading.Interlocked.CompareExchange(ref continuation, Pub.EmptyAction, null) != null)
         {
             new Task(continuation).Start();
         }
     }
 }
Beispiel #5
0
 /// <summary>
 /// 获取数据
 /// </summary>
 /// <param name="connection"></param>
 internal override Threading.LinkQueueTaskNode RunLinkQueueTask(ref DbConnection connection)
 {
     try
     {
         Value = new LeftArray <valueType>(queue.getList(ref connection, key)).FirstOrDefault(isValue);
     }
     finally
     {
         if (System.Threading.Interlocked.CompareExchange(ref continuation, Pub.EmptyAction, null) != null)
         {
             new Task(continuation).Start();
         }
     }
     return(LinkNext);
 }
Beispiel #6
0
 /// <summary>
 /// 获取数据
 /// </summary>
 /// <param name="connection"></param>
 internal override void RunLinkQueueTask(ref DbConnection connection)
 {
     try
     {
         ReturnValue <ListArray <valueType> > listArray = queue.getList(ref connection, key);
         if (listArray.ReturnType == ReturnType.Success)
         {
             value = listArray.Value.Array.FirstOrDefault(isValue);
         }
         else
         {
             value = listArray.ReturnType;
         }
     }
     catch (Exception error)
     {
         value = error;
     }
     finally
     {
         wait.Set();
     }
 }