public void ClearQueue() { var session = SmartSqlMapper.SessionStore.LocalSession; if (SessionMappedRequestQueue.ContainsKey(session.Id)) { SessionMappedRequestQueue.Remove(session.Id); } }
public void FlushQueue() { var session = SmartSqlMapper.SessionStore.LocalSession; if (SessionMappedRequestQueue.ContainsKey(session.Id)) { var currentQueue = SessionMappedRequestQueue[session.Id]; while (currentQueue.Count > 0) { var reqContext = currentQueue.Dequeue(); Flush(reqContext); } SessionMappedRequestQueue.Remove(session.Id); } }
public void TriggerFlush(RequestContext context) { var session = SmartSqlMapper.SessionStore.LocalSession; bool isTransaction = session != null && session.Transaction != null; if (isTransaction) { Queue <RequestContext> currentQueue; if (SessionMappedRequestQueue.ContainsKey(session.Id)) { currentQueue = SessionMappedRequestQueue[session.Id]; } else { currentQueue = new Queue <RequestContext>(); SessionMappedRequestQueue.Add(session.Id, currentQueue); } currentQueue.Enqueue(context); } else { Flush(context); } }