Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Web / Configuration / ProvidersHelper.cs / 1305376 / ProvidersHelper.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.Configuration { using System.Configuration; using System.Configuration.Provider; using System.Web.Compilation; using System.Collections.Specialized; using System; using System.Security; using System.Security.Permissions; public static class ProvidersHelper { /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// [AspNetHostingPermission(SecurityAction.Demand, Level = AspNetHostingPermissionLevel.Low)] public static ProviderBase InstantiateProvider(ProviderSettings providerSettings, Type providerType) { ProviderBase provider = null; try { string pnType = (providerSettings.Type == null) ? null : providerSettings.Type.Trim(); if (string.IsNullOrEmpty(pnType)) throw new ArgumentException(SR.GetString(SR.Provider_no_type_name)); Type t = ConfigUtil.GetType(pnType, "type", providerSettings, true, true); if (!providerType.IsAssignableFrom(t)) throw new ArgumentException(SR.GetString(SR.Provider_must_implement_type, providerType.ToString())); provider = (ProviderBase)HttpRuntime.CreatePublicInstance(t); // Because providers modify the parameters collection (i.e. delete stuff), pass in a clone of the collection NameValueCollection pars = providerSettings.Parameters; NameValueCollection cloneParams = new NameValueCollection(pars.Count, StringComparer.Ordinal); foreach (string key in pars) cloneParams[key] = pars[key]; provider.Initialize(providerSettings.Name, cloneParams); } catch (Exception e) { if (e is ConfigurationException) throw; throw new ConfigurationErrorsException(e.Message, e, providerSettings.ElementInformation.Properties["type"].Source, providerSettings.ElementInformation.Properties["type"].LineNumber); } return provider; } [AspNetHostingPermission(SecurityAction.Demand, Level = AspNetHostingPermissionLevel.Low)] public static void InstantiateProviders(ProviderSettingsCollection configProviders, ProviderCollection providers, Type providerType) { foreach (ProviderSettings ps in configProviders) { providers.Add(InstantiateProvider(ps, providerType)); } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ProtocolsSection.cs
- ExpressionConverter.cs
- InfoCardKeyedHashAlgorithm.cs
- HandlerBase.cs
- CollectionMarkupSerializer.cs
- CodeTypeDeclaration.cs
- XLinq.cs
- ResXBuildProvider.cs
- Config.cs
- ServiceReference.cs
- DtdParser.cs
- AutoSizeToolBoxItem.cs
- SpellerHighlightLayer.cs
- XhtmlMobileTextWriter.cs
- MissingManifestResourceException.cs
- ImmutablePropertyDescriptorGridEntry.cs
- ContextQuery.cs
- datacache.cs
- SystemIcmpV6Statistics.cs
- RawStylusActions.cs
- DbException.cs
- Link.cs
- PerformanceCountersBase.cs
- CodeDomConfigurationHandler.cs
- ProvidersHelper.cs
- PathFigure.cs
- DataControlFieldHeaderCell.cs
- QilInvokeEarlyBound.cs
- MetafileHeader.cs
- InvokeBase.cs
- EntityCommandDefinition.cs
- HandledEventArgs.cs
- PeerCredential.cs
- controlskin.cs
- PackWebRequestFactory.cs
- ProfileSettings.cs
- DesignerAdapterAttribute.cs
- GACIdentityPermission.cs
- EventlogProvider.cs
- AppDomainAttributes.cs
- EventWaitHandle.cs
- NodeInfo.cs
- DisplayNameAttribute.cs
- FontDriver.cs
- DashStyle.cs
- BitmapCache.cs
- CompilerParameters.cs
- Splitter.cs
- DictionarySectionHandler.cs
- UriScheme.cs
- EntityTransaction.cs
- EntityDesignerUtils.cs
- PrinterSettings.cs
- RenderContext.cs
- TreeView.cs
- BaseConfigurationRecord.cs
- WebPartCancelEventArgs.cs
- MemberMaps.cs
- MSHTMLHost.cs
- DelegateSerializationHolder.cs
- JsonFormatMapping.cs
- SecurityHelper.cs
- InvalidAsynchronousStateException.cs
- latinshape.cs
- UInt16Storage.cs
- IntSecurity.cs
- MethodBody.cs
- ReservationNotFoundException.cs
- MutexSecurity.cs
- ThrowHelper.cs
- LayoutTableCell.cs
- GridViewCancelEditEventArgs.cs
- DBCSCodePageEncoding.cs
- AppSecurityManager.cs
- SchemaDeclBase.cs
- GenericAuthenticationEventArgs.cs
- XmlChildNodes.cs
- FixedSOMSemanticBox.cs
- DbProviderFactory.cs
- TimeIntervalCollection.cs
- StateMachineHelpers.cs
- TraceHandlerErrorFormatter.cs
- MouseButton.cs
- SqlEnums.cs
- DataRow.cs
- DrawingAttributesDefaultValueFactory.cs
- PageStatePersister.cs
- TableColumnCollectionInternal.cs
- XmlTextReaderImplHelpers.cs
- PostBackTrigger.cs
- Brushes.cs
- StreamUpgradeInitiator.cs
- Camera.cs
- oledbconnectionstring.cs
- ArgumentsParser.cs
- TemplateKey.cs
- UnsafeNativeMethodsCLR.cs
- DesignBindingValueUIHandler.cs
- NullableFloatAverageAggregationOperator.cs
- ComponentResourceManager.cs