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
- InstanceLockedException.cs
- TemplateColumn.cs
- PageContentAsyncResult.cs
- DynamicResourceExtensionConverter.cs
- MetadataUtil.cs
- UmAlQuraCalendar.cs
- ProfileProvider.cs
- NotifyIcon.cs
- CryptoKeySecurity.cs
- DateTimeConstantAttribute.cs
- HtmlInputPassword.cs
- UserControlBuildProvider.cs
- OperatingSystemVersionCheck.cs
- ResourcesBuildProvider.cs
- CalendarDateRangeChangingEventArgs.cs
- CommonXSendMessage.cs
- WorkflowApplicationCompletedEventArgs.cs
- TypeDelegator.cs
- UIElementIsland.cs
- DocumentCollection.cs
- RenderData.cs
- HostingEnvironmentException.cs
- CaseInsensitiveOrdinalStringComparer.cs
- ImageProxy.cs
- IDReferencePropertyAttribute.cs
- EmbossBitmapEffect.cs
- EtwTrace.cs
- TextDecorations.cs
- AsymmetricCryptoHandle.cs
- DesignBindingPicker.cs
- UInt64Converter.cs
- TextSelection.cs
- SharedPersonalizationStateInfo.cs
- DataGridCell.cs
- FontNamesConverter.cs
- PipelineModuleStepContainer.cs
- SoapIgnoreAttribute.cs
- XmlDataDocument.cs
- CodeConditionStatement.cs
- StylusEditingBehavior.cs
- DESCryptoServiceProvider.cs
- Operators.cs
- wmiprovider.cs
- XmlSignatureManifest.cs
- XmlSchemaSimpleTypeUnion.cs
- RawStylusInputCustomData.cs
- InfoCardRequestException.cs
- SiteMapNode.cs
- URIFormatException.cs
- ToolStripRendererSwitcher.cs
- PDBReader.cs
- PcmConverter.cs
- LineVisual.cs
- ImportCatalogPart.cs
- SqlDataSourceEnumerator.cs
- sqlcontext.cs
- FrameworkElement.cs
- ArraySortHelper.cs
- WebScriptEnablingBehavior.cs
- DetailsViewDeletedEventArgs.cs
- TypeInfo.cs
- BooleanFunctions.cs
- IntegerValidatorAttribute.cs
- CodeAccessSecurityEngine.cs
- XPathExpr.cs
- RadioButtonList.cs
- RuleSettings.cs
- Schedule.cs
- FrameworkObject.cs
- Visual.cs
- CodeDOMUtility.cs
- ConnectionProviderAttribute.cs
- SEHException.cs
- PresentationSource.cs
- TraceHandlerErrorFormatter.cs
- CodeAttributeDeclaration.cs
- WeakReferenceEnumerator.cs
- DbConnectionPoolGroup.cs
- TextWriter.cs
- coordinatorscratchpad.cs
- ContentOperations.cs
- OpenFileDialog.cs
- Decimal.cs
- BaseTransportHeaders.cs
- HttpCapabilitiesSectionHandler.cs
- ProcessModelInfo.cs
- Header.cs
- WebDisplayNameAttribute.cs
- ModelItemExtensions.cs
- IfElseDesigner.xaml.cs
- BulletedList.cs
- DynamicResourceExtension.cs
- UserValidatedEventArgs.cs
- SafeBitVector32.cs
- NumberFormatInfo.cs
- ObjectListComponentEditor.cs
- COAUTHIDENTITY.cs
- MultiTrigger.cs
- DateTimeConverter.cs
- NetStream.cs