Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / fx / src / xsp / System / Web / Configuration / ProvidersHelper.cs / 5 / 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. // //----------------------------------------------------------------------------- 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SessionStateItemCollection.cs
- ACE.cs
- HtmlUtf8RawTextWriter.cs
- Geometry3D.cs
- DynamicPropertyHolder.cs
- thaishape.cs
- ClassHandlersStore.cs
- HostingEnvironmentException.cs
- ExpressionBinding.cs
- ComboBoxAutomationPeer.cs
- CryptoApi.cs
- UdpUtility.cs
- TripleDES.cs
- XPathSelectionIterator.cs
- XPathPatternBuilder.cs
- UrlEncodedParameterWriter.cs
- EventListenerClientSide.cs
- ResolveMatchesApril2005.cs
- IUnknownConstantAttribute.cs
- CngKeyCreationParameters.cs
- TypedTableBase.cs
- DataGridViewHitTestInfo.cs
- RandomDelayQueuedSendsAsyncResult.cs
- HtmlElementCollection.cs
- ListSortDescription.cs
- MessageDirection.cs
- ToolBar.cs
- ListViewGroupItemCollection.cs
- CatalogZoneDesigner.cs
- AtomicFile.cs
- XPathSingletonIterator.cs
- IpcPort.cs
- BaseUriHelper.cs
- propertyentry.cs
- ParentUndoUnit.cs
- ControlBuilder.cs
- PagedControl.cs
- Literal.cs
- XamlBuildTaskServices.cs
- DataRowCollection.cs
- Trigger.cs
- DbExpressionVisitor.cs
- File.cs
- ItemChangedEventArgs.cs
- SemanticAnalyzer.cs
- BooleanExpr.cs
- UIElement3D.cs
- CoreChannel.cs
- RecordManager.cs
- DataFormats.cs
- ConnectionPoolRegistry.cs
- TypeLoadException.cs
- EventRecordWrittenEventArgs.cs
- Color.cs
- HttpDateParse.cs
- DrawingImage.cs
- BindingListCollectionView.cs
- IxmlLineInfo.cs
- DispatcherHooks.cs
- SecurityPolicySection.cs
- XmlSerializationReader.cs
- InstanceOwnerQueryResult.cs
- XmlSchemaFacet.cs
- DetailsViewInsertEventArgs.cs
- DefaultMemberAttribute.cs
- RecordConverter.cs
- Soap.cs
- MetadataPropertyvalue.cs
- RangeContentEnumerator.cs
- WebServiceHandlerFactory.cs
- ToolTipService.cs
- BitmapEffectInput.cs
- BitmapEncoder.cs
- BitmapFrameDecode.cs
- UInt16.cs
- serverconfig.cs
- SqlNotificationEventArgs.cs
- DataSourceXmlClassAttribute.cs
- IntegrationExceptionEventArgs.cs
- BinaryMethodMessage.cs
- TextViewDesigner.cs
- RichTextBox.cs
- AnimationClockResource.cs
- ServicesUtilities.cs
- ClusterRegistryConfigurationProvider.cs
- OdbcTransaction.cs
- HtmlTernaryTree.cs
- SettingsPropertyNotFoundException.cs
- LayeredChannelFactory.cs
- GlyphElement.cs
- GPRECT.cs
- JoinCqlBlock.cs
- CompiledIdentityConstraint.cs
- ProtocolElement.cs
- XmlChildNodes.cs
- XmlSchemaIdentityConstraint.cs
- Vector3D.cs
- PolicyManager.cs
- WindowsAuthenticationEventArgs.cs
- DoubleLinkListEnumerator.cs