private static void StoreCurrentObjectContext(IIrvingDbContext dataContext, string contextKey) { if (HttpContext.Current == null) StoreCurrentThreadDataContext(dataContext, contextKey); else StoreCurrentHttpContextDataContext(dataContext, contextKey); }
private static void StoreCurrentHttpContextDataContext(IIrvingDbContext dataContext, string contextKey) { if (HttpContext.Current.Items.Contains(contextKey)) HttpContext.Current.Items[contextKey] = dataContext; else HttpContext.Current.Items.Add(contextKey, dataContext); }
private static void StoreCurrentThreadDataContext(IIrvingDbContext dataContext, string contextKey) { lock (_threadDataContexts.SyncRoot) { if (_threadDataContexts.Contains(contextKey)) _threadDataContexts[contextKey] = dataContext; else _threadDataContexts.Add(contextKey, dataContext); } }