Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / xsp / System / Web / Configuration / ProvidersHelper.cs / 2 / 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)); } } } }
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- PointUtil.cs
- StoreAnnotationsMap.cs
- IsolatedStorageFileStream.cs
- RelationshipDetailsCollection.cs
- XmlSchema.cs
- EmptyEnumerable.cs
- BamlReader.cs
- SimpleHandlerFactory.cs
- ListViewGroupItemCollection.cs
- HttpRuntimeSection.cs
- AutoGeneratedFieldProperties.cs
- XmlWriterSettings.cs
- LoginCancelEventArgs.cs
- WebHttpSecurity.cs
- ExpressionWriter.cs
- ServiceProviders.cs
- BuildResult.cs
- CalendarDesigner.cs
- XPathSelectionIterator.cs
- DynamicMethod.cs
- figurelength.cs
- NameTable.cs
- BitmapEffectGroup.cs
- MessageQueueCriteria.cs
- NameObjectCollectionBase.cs
- ProvidePropertyAttribute.cs
- DecoderFallback.cs
- QueryContinueDragEventArgs.cs
- EventMappingSettings.cs
- BinaryFormatterWriter.cs
- TextEditorMouse.cs
- COM2AboutBoxPropertyDescriptor.cs
- PersistenceTypeAttribute.cs
- SchemaNames.cs
- Size.cs
- IIS7WorkerRequest.cs
- XmlSchemaAttributeGroup.cs
- DbProviderSpecificTypePropertyAttribute.cs
- TextBoxDesigner.cs
- FileUtil.cs
- ControlDesigner.cs
- XmlNodeChangedEventArgs.cs
- EditableTreeList.cs
- XmlWellformedWriter.cs
- ResourceReferenceExpressionConverter.cs
- Misc.cs
- CodeTypeMemberCollection.cs
- Bits.cs
- ByteFacetDescriptionElement.cs
- ClientRolePrincipal.cs
- mda.cs
- DataTableMappingCollection.cs
- ComponentRenameEvent.cs
- ScriptRef.cs
- Context.cs
- RedistVersionInfo.cs
- ListBindingConverter.cs
- x509utils.cs
- VirtualDirectoryMapping.cs
- exports.cs
- ObjectStateManager.cs
- InitialServerConnectionReader.cs
- ToolStripContentPanelRenderEventArgs.cs
- WebPartAddingEventArgs.cs
- InternalConfigSettingsFactory.cs
- SqlRemoveConstantOrderBy.cs
- AdCreatedEventArgs.cs
- ViewBase.cs
- HtmlControlAdapter.cs
- ClosableStream.cs
- WebPartMinimizeVerb.cs
- WindowsFormsSectionHandler.cs
- ErrorTableItemStyle.cs
- BaseAddressElement.cs
- PointConverter.cs
- Calendar.cs
- HandleRef.cs
- ProtocolsSection.cs
- DataBinding.cs
- SqlUserDefinedAggregateAttribute.cs
- QueryCacheKey.cs
- Tokenizer.cs
- HorizontalAlignConverter.cs
- SamlAttribute.cs
- PagesSection.cs
- ToolStripSeparatorRenderEventArgs.cs
- ToolStripLabel.cs
- XmlILIndex.cs
- ReverseInheritProperty.cs
- InheritablePropertyChangeInfo.cs
- BitmapScalingModeValidation.cs
- XpsSerializationManager.cs
- Line.cs
- WorkflowExecutor.cs
- HTMLTagNameToTypeMapper.cs
- CodeStatementCollection.cs
- HierarchicalDataTemplate.cs
- XmlWrappingWriter.cs
- ColumnBinding.cs
- DispatcherExceptionFilterEventArgs.cs