Code:
/ DotNET / DotNET / 8.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
- DecimalAnimationUsingKeyFrames.cs
- TaskFileService.cs
- StateItem.cs
- FormViewInsertedEventArgs.cs
- WeakEventTable.cs
- UpdatePanelControlTrigger.cs
- SqlTriggerAttribute.cs
- InputScope.cs
- SimpleMailWebEventProvider.cs
- CompareValidator.cs
- TemplateControl.cs
- BooleanExpr.cs
- Compiler.cs
- ShapingEngine.cs
- Converter.cs
- ParserContext.cs
- FontSizeConverter.cs
- HtmlWindowCollection.cs
- DbConnectionPoolOptions.cs
- loginstatus.cs
- SelectedDatesCollection.cs
- Timeline.cs
- RsaKeyIdentifierClause.cs
- FixedMaxHeap.cs
- SafeTimerHandle.cs
- __ConsoleStream.cs
- CodeIdentifier.cs
- VerticalAlignConverter.cs
- Faults.cs
- HitTestWithPointDrawingContextWalker.cs
- EventLogPermissionEntry.cs
- WorkItem.cs
- XmlBoundElement.cs
- HashCodeCombiner.cs
- ClickablePoint.cs
- DataGridTableCollection.cs
- DoubleAnimationUsingPath.cs
- WebRequestModuleElementCollection.cs
- CanonicalizationDriver.cs
- XmlSchemaInclude.cs
- GridViewColumnHeader.cs
- FontNameConverter.cs
- CodeNamespaceImport.cs
- XmlUtil.cs
- XpsSerializationManagerAsync.cs
- EndEvent.cs
- SqlClientPermission.cs
- GuidelineCollection.cs
- HtmlControlPersistable.cs
- CalendarDay.cs
- XD.cs
- HttpApplication.cs
- InternalsVisibleToAttribute.cs
- SubMenuStyleCollection.cs
- XmlCharCheckingReader.cs
- XMLUtil.cs
- ResXResourceSet.cs
- ToolTipAutomationPeer.cs
- DataGridAutoGeneratingColumnEventArgs.cs
- TextTreeRootNode.cs
- SqlLiftWhereClauses.cs
- PageCatalogPart.cs
- UICuesEvent.cs
- BooleanProjectedSlot.cs
- TextDecoration.cs
- Util.cs
- MSAAEventDispatcher.cs
- CapabilitiesAssignment.cs
- EncryptedXml.cs
- PointCollectionValueSerializer.cs
- FederatedMessageSecurityOverHttp.cs
- ColorConvertedBitmap.cs
- StyleXamlParser.cs
- DataControlButton.cs
- MenuItemAutomationPeer.cs
- MouseDevice.cs
- OracleConnectionStringBuilder.cs
- smtppermission.cs
- SBCSCodePageEncoding.cs
- WindowsTitleBar.cs
- UnsafeNativeMethodsTablet.cs
- InternalPermissions.cs
- CqlBlock.cs
- Converter.cs
- Root.cs
- basevalidator.cs
- UpDownEvent.cs
- BitmapDownload.cs
- shaper.cs
- AnnouncementInnerClientCD1.cs
- TreeChangeInfo.cs
- TransformProviderWrapper.cs
- Matrix.cs
- Oid.cs
- CompilerGlobalScopeAttribute.cs
- DirectoryLocalQuery.cs
- ReaderWriterLock.cs
- CriticalHandle.cs
- SoapTypeAttribute.cs
- Property.cs