Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / ndp / fx / src / xsp / System / Web / Configuration / ProvidersHelper.cs / 1 / 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; [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] 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, 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. //------------------------------------------------------------------------------ //// 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; [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] 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, 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
- BatchServiceHost.cs
- SafeNativeMethods.cs
- ImpersonationContext.cs
- AliasGenerator.cs
- ValidatingPropertiesEventArgs.cs
- DynamicDataResources.Designer.cs
- HandoffBehavior.cs
- MailDefinition.cs
- SerializableAttribute.cs
- ReliableChannelBinder.cs
- CodeParameterDeclarationExpressionCollection.cs
- DocumentPageView.cs
- DataSetFieldSchema.cs
- SafeLocalMemHandle.cs
- ArrayTypeMismatchException.cs
- MarginCollapsingState.cs
- ExpressionQuoter.cs
- ExtenderControl.cs
- HttpValueCollection.cs
- Soap.cs
- Paragraph.cs
- CompressionTransform.cs
- IPHostEntry.cs
- WebPartZone.cs
- SettingsSection.cs
- TransformPatternIdentifiers.cs
- DiffuseMaterial.cs
- ReadOnlyCollection.cs
- OleDbInfoMessageEvent.cs
- ExpressionBindingCollection.cs
- ConfigXmlElement.cs
- JpegBitmapDecoder.cs
- PeerPresenceInfo.cs
- TrustSection.cs
- JsonClassDataContract.cs
- GridViewDeletedEventArgs.cs
- LayoutInformation.cs
- WebPartsPersonalization.cs
- RootNamespaceAttribute.cs
- SelectionPattern.cs
- PageCatalogPartDesigner.cs
- StringFormat.cs
- TimerElapsedEvenArgs.cs
- SingleStorage.cs
- ScriptComponentDescriptor.cs
- PartialCachingControl.cs
- RequestBringIntoViewEventArgs.cs
- CancellationHandler.cs
- XamlSerializerUtil.cs
- DrawingVisualDrawingContext.cs
- StringUtil.cs
- ErrorRuntimeConfig.cs
- StrongNameKeyPair.cs
- StrokeSerializer.cs
- AdRotatorDesigner.cs
- AnimationTimeline.cs
- ClientBuildManager.cs
- CodeGenerator.cs
- ServerType.cs
- SystemWebCachingSectionGroup.cs
- ApplicationActivator.cs
- RegionInfo.cs
- Console.cs
- SettingsProperty.cs
- AttributeConverter.cs
- PropertyFilterAttribute.cs
- ScrollContentPresenter.cs
- ScrollEventArgs.cs
- MediaTimeline.cs
- ControlHelper.cs
- TransformerInfo.cs
- WebConfigurationHostFileChange.cs
- HyperLinkStyle.cs
- AccessedThroughPropertyAttribute.cs
- IISUnsafeMethods.cs
- VisualStyleTypesAndProperties.cs
- TokenBasedSetEnumerator.cs
- ByteFacetDescriptionElement.cs
- JavaScriptObjectDeserializer.cs
- TextServicesDisplayAttributePropertyRanges.cs
- Crc32Helper.cs
- DataGridViewCellStyleConverter.cs
- WinInet.cs
- ArrangedElement.cs
- HtmlInputHidden.cs
- ForEachAction.cs
- SimpleMailWebEventProvider.cs
- TraceContext.cs
- OAVariantLib.cs
- AppDomainManager.cs
- IPEndPointCollection.cs
- TextRunCacheImp.cs
- HostingEnvironmentSection.cs
- TableLayoutPanelResizeGlyph.cs
- CollectionBuilder.cs
- Transform3D.cs
- RectangleHotSpot.cs
- SchemaNames.cs
- ErrorFormatterPage.cs
- XmlArrayAttribute.cs