/// <summary> /// /// </summary> private static void Initialize() { if (_IsInitialized) { ThrowOnInitializeException(); } else { ThrowOnInitializeException(); lock (_SyncLock) { if (_IsInitialized) { ThrowOnInitializeException(); } else { System.Web.HttpContext context = System.Web.HttpContext.Current; _TraceEnabled = (context != null && context.Trace.IsEnabled) ? true : false; Config.DataAccessSection __section = (Config.DataAccessSection) ConfigurationManager.GetSection(Config.DataAccessSection.SectionName); _Providers = new DataProviderCollection(); string __defaultProvider; // will not throw exception, but apply the general default provider rule if (__section == null) { __section = new Config.DataAccessSection(); } else { ProvidersHelper.Instantiate( __section, _Providers, typeof(DataProvider)); } // set default provider __defaultProvider = __section.DefaultProvider; _Provider = _Providers[__defaultProvider]; if (_Provider == null) { // try to setup from implemented set of providers TrySetupDefaultProvider(__defaultProvider, __section); } ThrowOnNullDefaultProvider(); _IsInitialized = true; } } } }
/// <summary> /// /// </summary> /// <param name="name"></param> /// <param name="config"></param> public override void Initialize(string name, NameValueCollection config) { base.Initialize(name, config); ProvidersHelper.Initialize(this, config); }