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
- TaskHelper.cs
- PathGeometry.cs
- CreateUserWizardStep.cs
- WindowsSysHeader.cs
- DbConnectionStringBuilder.cs
- ThemeDirectoryCompiler.cs
- dataprotectionpermission.cs
- DataGridCaption.cs
- BitmapEffectGroup.cs
- FileDetails.cs
- BreakSafeBase.cs
- VisualBrush.cs
- PointHitTestParameters.cs
- WebEvents.cs
- TableStyle.cs
- LinearGradientBrush.cs
- ProtocolsConfiguration.cs
- SchemaElement.cs
- PlatformNotSupportedException.cs
- CommandID.cs
- RefreshPropertiesAttribute.cs
- RectKeyFrameCollection.cs
- UiaCoreProviderApi.cs
- RsaKeyGen.cs
- ImpersonationContext.cs
- PartDesigner.cs
- IteratorDescriptor.cs
- Odbc32.cs
- UnicodeEncoding.cs
- RawUIStateInputReport.cs
- BaseProcessor.cs
- QueryOpeningEnumerator.cs
- Registry.cs
- ValidationHelper.cs
- Int32Converter.cs
- TransportContext.cs
- UpdateTranslator.cs
- ApplicationInfo.cs
- ObjectFactoryCodeDomTreeGenerator.cs
- XmlUrlResolver.cs
- FileReservationCollection.cs
- ResXBuildProvider.cs
- WebResponse.cs
- RowToParametersTransformer.cs
- DefaultSettingsSection.cs
- LinqDataSourceValidationException.cs
- FlowDecisionLabelFeature.cs
- XmlSignificantWhitespace.cs
- XPathAxisIterator.cs
- EntityDesignerUtils.cs
- PasswordBox.cs
- BrushValueSerializer.cs
- RedistVersionInfo.cs
- TransactionFilter.cs
- TransactedBatchingElement.cs
- AttachmentCollection.cs
- RegexRunnerFactory.cs
- ProfilePropertySettingsCollection.cs
- HtmlGenericControl.cs
- TemplatingOptionsDialog.cs
- DataMemberAttribute.cs
- CodePageUtils.cs
- InvalidPrinterException.cs
- MessageBox.cs
- WindowsTooltip.cs
- ToolBarDesigner.cs
- TaskFileService.cs
- XomlDesignerLoader.cs
- SEHException.cs
- GroupByExpressionRewriter.cs
- AddInEnvironment.cs
- UserInitiatedNavigationPermission.cs
- XmlEncoding.cs
- RoutedPropertyChangedEventArgs.cs
- Utility.cs
- AutoResetEvent.cs
- DbProviderConfigurationHandler.cs
- ByValueEqualityComparer.cs
- Debug.cs
- TabletCollection.cs
- WebEncodingValidator.cs
- SQLDateTimeStorage.cs
- X500Name.cs
- DataGridParentRows.cs
- BamlReader.cs
- DiscriminatorMap.cs
- XmlSchemaValidationException.cs
- OdbcErrorCollection.cs
- KeySplineConverter.cs
- MeshGeometry3D.cs
- Debugger.cs
- FixedSOMFixedBlock.cs
- SqlReferenceCollection.cs
- SchemaAttDef.cs
- FlowLayoutSettings.cs
- GridPattern.cs
- DataRecordObjectView.cs
- Error.cs
- HostVisual.cs
- LinkDescriptor.cs