Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / whidbey / QFE / ndp / fx / src / xsp / System / Web / Configuration / ProvidersHelper.cs / 3 / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- TypeRefElement.cs
- Stream.cs
- securitymgrsite.cs
- StoreAnnotationsMap.cs
- SamlSerializer.cs
- DirectoryRedirect.cs
- SafeThemeHandle.cs
- SqlReferenceCollection.cs
- ColorBlend.cs
- TabControlAutomationPeer.cs
- ArglessEventHandlerProxy.cs
- ConfigXmlWhitespace.cs
- RunClient.cs
- IssuanceLicense.cs
- StatusBar.cs
- ArithmeticException.cs
- Repeater.cs
- ObjectItemCollection.cs
- _Semaphore.cs
- PagedDataSource.cs
- MarshalByRefObject.cs
- HtmlMobileTextWriter.cs
- MetadataArtifactLoaderComposite.cs
- RuntimeConfig.cs
- RightsManagementPermission.cs
- TextProperties.cs
- HtmlControl.cs
- HashAlgorithm.cs
- ToolStripItem.cs
- DbReferenceCollection.cs
- TypeRestriction.cs
- MessageHeaderDescriptionCollection.cs
- InvokePattern.cs
- AttributeCollection.cs
- ResourceType.cs
- MetadataPropertyCollection.cs
- TraceLevelStore.cs
- CodeConstructor.cs
- SqlStatistics.cs
- DnsEndpointIdentity.cs
- DataKeyCollection.cs
- TypeUtil.cs
- ConnectionInterfaceCollection.cs
- PolyQuadraticBezierSegment.cs
- CodeAttachEventStatement.cs
- ImageListUtils.cs
- WorkflowEnvironment.cs
- SHA512Managed.cs
- UnauthorizedAccessException.cs
- SurrogateDataContract.cs
- ControlBindingsCollection.cs
- EditorZone.cs
- ChildrenQuery.cs
- FixedTextView.cs
- PassportAuthenticationEventArgs.cs
- COAUTHIDENTITY.cs
- OutputBuffer.cs
- CommonObjectSecurity.cs
- WorkerRequest.cs
- ObjectConverter.cs
- DateTimeEditor.cs
- DataSourceCacheDurationConverter.cs
- TemplateManager.cs
- ProcessHostConfigUtils.cs
- TrackingSection.cs
- DataBoundControlHelper.cs
- Simplifier.cs
- DataStorage.cs
- ComponentRenameEvent.cs
- PartialList.cs
- CodeMethodMap.cs
- DataColumnChangeEvent.cs
- ToolStripCustomTypeDescriptor.cs
- DSACryptoServiceProvider.cs
- COSERVERINFO.cs
- connectionpool.cs
- MarkupObject.cs
- PropertyNames.cs
- WindowHideOrCloseTracker.cs
- TypeGeneratedEventArgs.cs
- TraceInternal.cs
- DataGridViewImageCell.cs
- SetterBase.cs
- Main.cs
- EnumerableRowCollection.cs
- ToolStripContentPanelRenderEventArgs.cs
- X509SubjectKeyIdentifierClause.cs
- OleDbTransaction.cs
- SmiMetaDataProperty.cs
- GestureRecognizer.cs
- WorkflowInstance.cs
- StatusBar.cs
- XmlTextAttribute.cs
- SQLUtility.cs
- SessionStateSection.cs
- DataGridViewUtilities.cs
- CompilerScopeManager.cs
- FormViewModeEventArgs.cs
- ToolboxDataAttribute.cs
- ProfessionalColors.cs