public static CommerceDataProvider LoadProvider() { _provider = SueetieCache.Current[providerKey] as CommerceDataProvider; if (_provider == null) { lock (_lock) { if (_provider == null) { SueetieConfiguration configuration = SueetieConfiguration.Get(); SueetieProvider provider = configuration.SueetieProviders.Find(sp => sp.Name == "MarketplaceSqlDataProvider"); _provider = Activator.CreateInstance(Type.GetType(provider.ProviderType), new object[] { provider.ConnectionString }) as CommerceDataProvider; SueetieCache.Current.InsertMax(providerKey, _provider, new CacheDependency(configuration.ConfigPath)); } } } return(_provider); }
public static SaltieDataProvider LoadProvider() { _provider = SueetieCache.Current[providerKey] as SaltieDataProvider; if (_provider == null) { lock (_lock) { if (_provider == null) { SueetieConfiguration sueetieConfig = SueetieConfiguration.Get(); List <SueetieProvider> sueetieProviders = sueetieConfig.SueetieProviders; SueetieProvider _p = sueetieProviders.Find(delegate(SueetieProvider sp) { return(sp.Name == "SaltieSqlDataProvider"); }); _provider = Activator.CreateInstance(Type.GetType(_p.ProviderType), new object[] { _p.ConnectionString }) as SaltieDataProvider; SueetieCache.Current.InsertMax(providerKey, _provider, new CacheDependency(sueetieConfig.ConfigPath)); } } } return(_provider); }
public static SueetieSearchDataProvider LoadProvider() { _provider = SueetieCache.Current[providerKey] as SueetieSearchDataProvider; // Avoid claiming lock if providers are already loaded if (_provider == null) { lock (_lock) { // Do this again to make sure _provider is still null if (_provider == null) { SueetieConfiguration sueetieConfig = SueetieConfiguration.Get(); List <SueetieProvider> sueetieProviders = sueetieConfig.SueetieProviders; SueetieProvider _p = sueetieProviders.Find(delegate(SueetieProvider sp) { return(sp.Name == "SueetieSearchSqlDataProvider"); }); _provider = Activator.CreateInstance(Type.GetType(_p.ProviderType), new object[] { _p.ConnectionString }) as SueetieSearchDataProvider; SueetieCache.Current.InsertMax(providerKey, _provider, new CacheDependency(sueetieConfig.ConfigPath)); } } } return(_provider); }