/// <summary> /// Instantiates and manages the viewstate providers according to the /// registered providers in the "viewStateServices" section in web.config. /// </summary> private static void LoadProviders() { // providers are loaded just once if (_provider == null) { // Synchronize the process of loading the providers lock (_syncLock) { // Confirm that _provider is still null if (_provider == null) { // Get a reference to the <viewstateService> section ViewStateProviderServiceSection section = (ViewStateProviderServiceSection) WebConfigurationManager.GetSection("system.web/viewstateService"); // Load all registered providers _providers = new ViewStateProviderCollection(); ProvidersHelper.InstantiateProviders (section.Providers, _providers, typeof(ViewStateProviderBase)); // Set _provider to the default provider _provider = _providers[section.DefaultProvider]; } } } }