/// <summary> /// 获取数据 /// </summary> /// <param name="connection"></param> internal override void RunLinkQueueTask(ref DbConnection connection) { try { value = queue.get(ref connection, node, key); } finally { wait.Set(); } }
/// <summary> /// 获取数据 /// </summary> /// <param name="connection"></param> internal override Threading.LinkQueueTaskNode RunLinkQueueTask(ref DbConnection connection) { try { value = queue.get(ref connection, node, key); } finally { wait.Set(); } return(LinkNext); }
/// <summary> /// 获取缓存数据 /// </summary> /// <param name="connection"></param> internal override void RunLinkQueueTask(ref DbConnection connection) { try { Value = queue.get(ref connection, node, key); } finally { if (System.Threading.Interlocked.CompareExchange(ref continuation, Pub.EmptyAction, null) != null) { new Task(continuation).Start(); } } }
/// <summary> /// 获取缓存数据 /// </summary> /// <param name="connection"></param> internal override void RunLinkQueueTask(ref DbConnection connection) { try { Value = queue.get(ref connection, node, key); } catch (Exception error) { Value = error; } finally { IsCompleted = true; if (continuation != null || System.Threading.Interlocked.CompareExchange(ref continuation, Common.EmptyAction, null) != null) { continuation(); } } }