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
- InstanceView.cs
- ContextMarshalException.cs
- PropertyValueUIItem.cs
- linebase.cs
- LinkedDataMemberFieldEditor.cs
- FragmentQuery.cs
- AccessDataSourceView.cs
- CachingParameterInspector.cs
- VirtualDirectoryMappingCollection.cs
- ContextMarshalException.cs
- EntityAdapter.cs
- querybuilder.cs
- CustomValidator.cs
- DataGridViewCellPaintingEventArgs.cs
- TableStyle.cs
- invalidudtexception.cs
- MemberHolder.cs
- ResourceDefaultValueAttribute.cs
- XmlImplementation.cs
- DiscreteKeyFrames.cs
- DataServiceCollectionOfT.cs
- DataGrid.cs
- SQLBinaryStorage.cs
- HiddenFieldPageStatePersister.cs
- SqlTypeConverter.cs
- XmlUrlResolver.cs
- DataGridRow.cs
- DiagnosticsConfigurationHandler.cs
- DrawingCollection.cs
- BaseUriHelper.cs
- Main.cs
- OperandQuery.cs
- Renderer.cs
- DataGridRowsPresenter.cs
- LockCookie.cs
- SuppressMessageAttribute.cs
- AsyncDataRequest.cs
- MethodBuilder.cs
- FolderBrowserDialog.cs
- DataGridTable.cs
- CacheOutputQuery.cs
- ContentType.cs
- ExternalException.cs
- DataGridViewAccessibleObject.cs
- WebPartConnectionsCloseVerb.cs
- BlurBitmapEffect.cs
- MenuItemBinding.cs
- metadatamappinghashervisitor.cs
- ObjectPersistData.cs
- _FixedSizeReader.cs
- MessageUtil.cs
- WeakReferenceList.cs
- MetadataUtilsSmi.cs
- InputLanguageProfileNotifySink.cs
- uribuilder.cs
- ObjectStateEntryDbUpdatableDataRecord.cs
- InputLangChangeRequestEvent.cs
- CounterSet.cs
- DataTableNameHandler.cs
- StrokeFIndices.cs
- NumberSubstitution.cs
- basenumberconverter.cs
- DocumentPageViewAutomationPeer.cs
- RegexGroup.cs
- metrodevice.cs
- DesignerRegion.cs
- FillErrorEventArgs.cs
- ValidatedControlConverter.cs
- BufferedGraphicsContext.cs
- X509Certificate.cs
- TimeEnumHelper.cs
- EdmError.cs
- ACE.cs
- SQLInt32Storage.cs
- CompoundFileStreamReference.cs
- ChangeBlockUndoRecord.cs
- StorageMappingItemLoader.cs
- Span.cs
- ValidationPropertyAttribute.cs
- DataSourceDesigner.cs
- Mapping.cs
- StaticContext.cs
- ConnectionManagementSection.cs
- TrackingProfileSerializer.cs
- InternalTypeHelper.cs
- PointHitTestParameters.cs
- Vector3DIndependentAnimationStorage.cs
- SqlConnectionHelper.cs
- ConfigDefinitionUpdates.cs
- ValueCollectionParameterReader.cs
- SiteMapDataSourceView.cs
- RequestUriProcessor.cs
- MappingMetadataHelper.cs
- SqlBulkCopyColumnMapping.cs
- LineBreakRecord.cs
- TableCellsCollectionEditor.cs
- WaitHandleCannotBeOpenedException.cs
- columnmapfactory.cs
- ConditionalAttribute.cs
- PropertyIDSet.cs