Code:
/ FX-1434 / FX-1434 / 1.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
- KerberosTokenFactoryCredential.cs
- ClientSettingsSection.cs
- GeometryDrawing.cs
- AnimationClock.cs
- ScopeElementCollection.cs
- EntityDataSourceContextDisposingEventArgs.cs
- ReachIDocumentPaginatorSerializerAsync.cs
- PowerStatus.cs
- MenuBindingsEditorForm.cs
- LoginCancelEventArgs.cs
- FixedSOMTextRun.cs
- WebPartExportVerb.cs
- ProtocolsConfigurationHandler.cs
- Validator.cs
- AssociatedControlConverter.cs
- DataContractSerializer.cs
- MemberHolder.cs
- MetadataExporter.cs
- Compiler.cs
- Exception.cs
- PeerPresenceInfo.cs
- CapiSymmetricAlgorithm.cs
- SolidColorBrush.cs
- ThaiBuddhistCalendar.cs
- OutputCacheSection.cs
- ComponentCommands.cs
- Lease.cs
- ProfilePropertyNameValidator.cs
- HMACSHA384.cs
- StreamGeometry.cs
- SplineKeyFrames.cs
- ViewPort3D.cs
- SafeIUnknown.cs
- WriteTimeStream.cs
- shaperfactory.cs
- IntPtr.cs
- ElapsedEventArgs.cs
- DataBindingCollectionEditor.cs
- TextUtf8RawTextWriter.cs
- CachingHintValidation.cs
- RadioButton.cs
- XsltSettings.cs
- Opcode.cs
- SerializationException.cs
- Identifier.cs
- MarkupProperty.cs
- IntranetCredentialPolicy.cs
- ContainerControl.cs
- HyperLink.cs
- EventListener.cs
- BufferedReadStream.cs
- StringExpressionSet.cs
- BuildManagerHost.cs
- GlyphInfoList.cs
- Stacktrace.cs
- SessionStateContainer.cs
- CorrelationActionMessageFilter.cs
- InvalidComObjectException.cs
- OutputCacheSection.cs
- HttpContext.cs
- UpdateManifestForBrowserApplication.cs
- XamlFilter.cs
- LoadWorkflowAsyncResult.cs
- StorageFunctionMapping.cs
- HttpResponse.cs
- SoapMessage.cs
- DataBoundLiteralControl.cs
- CodeExpressionStatement.cs
- ZoneLinkButton.cs
- WindowsImpersonationContext.cs
- SqlClientWrapperSmiStream.cs
- GeneralTransform2DTo3DTo2D.cs
- DbDataRecord.cs
- TraceXPathNavigator.cs
- EventOpcode.cs
- SlipBehavior.cs
- DebugController.cs
- Scene3D.cs
- TrustSection.cs
- XamlReaderHelper.cs
- MultiTrigger.cs
- DatagridviewDisplayedBandsData.cs
- MasterPageParser.cs
- DataSourceControl.cs
- CodeTypeReferenceExpression.cs
- FileUtil.cs
- RenderOptions.cs
- XPathSelectionIterator.cs
- BaseCollection.cs
- DeobfuscatingStream.cs
- PropVariant.cs
- TextSimpleMarkerProperties.cs
- OleDbConnection.cs
- DesignTimeParseData.cs
- DataControlFieldCell.cs
- TextSerializer.cs
- PointConverter.cs
- TextEndOfParagraph.cs
- MemberProjectedSlot.cs
- UserNamePasswordServiceCredential.cs