Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / 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
- PipelineModuleStepContainer.cs
- ClassGenerator.cs
- StylusDevice.cs
- AssociationSetEnd.cs
- ApplicationSecurityManager.cs
- SymDocumentType.cs
- ConstraintStruct.cs
- AttributeProviderAttribute.cs
- FileDetails.cs
- VirtualDirectoryMappingCollection.cs
- ChangeConflicts.cs
- BidOverLoads.cs
- SudsParser.cs
- NavigationCommands.cs
- AssemblyAssociatedContentFileAttribute.cs
- NetTcpSecurity.cs
- SoapEnumAttribute.cs
- SettingsPropertyValueCollection.cs
- DataSourceCollectionBase.cs
- HiddenFieldPageStatePersister.cs
- ReadOnlyPropertyMetadata.cs
- GradientSpreadMethodValidation.cs
- FeatureSupport.cs
- SimplePropertyEntry.cs
- Interfaces.cs
- PersonalizationProviderCollection.cs
- WebPartVerb.cs
- DisplayNameAttribute.cs
- MorphHelpers.cs
- ButtonPopupAdapter.cs
- ApplyTemplatesAction.cs
- LowerCaseStringConverter.cs
- SamlConstants.cs
- Literal.cs
- ListenerUnsafeNativeMethods.cs
- ZipIOCentralDirectoryDigitalSignature.cs
- DataBindingExpressionBuilder.cs
- RijndaelManaged.cs
- EmptyEnumerable.cs
- TreeNode.cs
- BuildDependencySet.cs
- SrgsSubset.cs
- ServiceEndpointAssociationProvider.cs
- PasswordBoxAutomationPeer.cs
- ListViewContainer.cs
- DataConnectionHelper.cs
- InfoCardBaseException.cs
- EncoderNLS.cs
- SqlDependency.cs
- HttpApplicationFactory.cs
- CursorConverter.cs
- SmtpAuthenticationManager.cs
- StringCollection.cs
- ComponentChangingEvent.cs
- SafeSystemMetrics.cs
- SiteMapDataSourceDesigner.cs
- SudsCommon.cs
- AuthenticatingEventArgs.cs
- CompoundFileStorageReference.cs
- XsltException.cs
- Object.cs
- EditingCoordinator.cs
- InkPresenterAutomationPeer.cs
- Filter.cs
- Point3DConverter.cs
- CapabilitiesPattern.cs
- Activity.cs
- StopStoryboard.cs
- JavaScriptString.cs
- Pair.cs
- WindowsSecurityToken.cs
- ObjectQuery_EntitySqlExtensions.cs
- SystemTcpStatistics.cs
- AccessViolationException.cs
- BasicCellRelation.cs
- designeractionlistschangedeventargs.cs
- ConditionCollection.cs
- XmlChildEnumerator.cs
- Random.cs
- jithelpers.cs
- DefaultWorkflowLoaderService.cs
- Vars.cs
- CapabilitiesState.cs
- HttpContextWrapper.cs
- ValidationSummary.cs
- TraceLog.cs
- MetadataItem_Static.cs
- Dispatcher.cs
- UxThemeWrapper.cs
- SerialErrors.cs
- PropertyInformationCollection.cs
- DiffuseMaterial.cs
- NumberFormatInfo.cs
- PointAnimationUsingPath.cs
- AnimatedTypeHelpers.cs
- CustomValidator.cs
- StandardBindingImporter.cs
- XmlWriterTraceListener.cs
- UrlMapping.cs
- FileLevelControlBuilderAttribute.cs