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
- SessionEndingCancelEventArgs.cs
- DataRecordObjectView.cs
- DataQuery.cs
- SpotLight.cs
- QualifiedCellIdBoolean.cs
- XPathNavigatorReader.cs
- AsynchronousChannelMergeEnumerator.cs
- BinHexDecoder.cs
- Descriptor.cs
- fixedPageContentExtractor.cs
- ChtmlTextWriter.cs
- ClaimTypes.cs
- DesignerImageAdapter.cs
- CodeSnippetTypeMember.cs
- StructureChangedEventArgs.cs
- DependencyProperty.cs
- DependencyObject.cs
- PaintEvent.cs
- TranslateTransform3D.cs
- SetterBaseCollection.cs
- TextEffect.cs
- CommandLibraryHelper.cs
- StyleCollection.cs
- BufferCache.cs
- InputLangChangeEvent.cs
- ListViewHitTestInfo.cs
- TypedOperationInfo.cs
- SqlAliaser.cs
- DictionaryManager.cs
- UrlMapping.cs
- WindowsFormsHost.cs
- SerialStream.cs
- BitmapEffectInput.cs
- DbConnectionPoolOptions.cs
- RawStylusInputReport.cs
- ContentControl.cs
- LayoutInformation.cs
- Substitution.cs
- localization.cs
- RectangleConverter.cs
- CategoryGridEntry.cs
- MappingMetadataHelper.cs
- PageOrientation.cs
- AtomContentProperty.cs
- TdsParameterSetter.cs
- LongValidatorAttribute.cs
- TemplateField.cs
- DiscoveryService.cs
- EntityParameterCollection.cs
- WebZone.cs
- HttpPostProtocolReflector.cs
- RelationshipFixer.cs
- DebugView.cs
- ExpressionBinding.cs
- CngAlgorithmGroup.cs
- EmptyEnumerator.cs
- ConvertBinder.cs
- Identity.cs
- HandoffBehavior.cs
- UserControlAutomationPeer.cs
- FocusManager.cs
- FilteredDataSetHelper.cs
- CollectionTypeElement.cs
- Vector3DValueSerializer.cs
- WebServiceReceiveDesigner.cs
- OutOfMemoryException.cs
- DataGridItem.cs
- PerfCounterSection.cs
- DataStreams.cs
- RuleCache.cs
- Perspective.cs
- BooleanToVisibilityConverter.cs
- WindowsListViewGroupHelper.cs
- Codec.cs
- HideDisabledControlAdapter.cs
- DataBindingValueUIHandler.cs
- BaseComponentEditor.cs
- EntryIndex.cs
- Buffer.cs
- SizeAnimationBase.cs
- JsonReader.cs
- IndexedString.cs
- BooleanToVisibilityConverter.cs
- DecoderFallbackWithFailureFlag.cs
- BlobPersonalizationState.cs
- SessionSwitchEventArgs.cs
- NetPeerTcpBindingCollectionElement.cs
- XmlSerializationGeneratedCode.cs
- QueryStringHandler.cs
- RuleSetDialog.Designer.cs
- PropertyReferenceSerializer.cs
- HtmlWindowCollection.cs
- ScrollProperties.cs
- ButtonChrome.cs
- SignatureHelper.cs
- TaiwanLunisolarCalendar.cs
- ToolStripItemBehavior.cs
- QilTypeChecker.cs
- AggregateException.cs
- RouteItem.cs