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
- XPathConvert.cs
- MenuItem.cs
- DesignerCategoryAttribute.cs
- AttachedPropertyBrowsableForChildrenAttribute.cs
- SqlDataSourceCommandEventArgs.cs
- PixelShader.cs
- ConfigXmlReader.cs
- OleDbParameterCollection.cs
- DataError.cs
- SignatureDescription.cs
- MemberMemberBinding.cs
- PropertyValue.cs
- CommonProperties.cs
- DesignerOptionService.cs
- DataRowCollection.cs
- Vector3DKeyFrameCollection.cs
- ServicePointManagerElement.cs
- ProfileService.cs
- HttpCacheParams.cs
- DataGridViewSelectedColumnCollection.cs
- XmlLanguageConverter.cs
- FileChangeNotifier.cs
- DataFormat.cs
- XmlAttributeOverrides.cs
- SortedList.cs
- DBSchemaRow.cs
- WebColorConverter.cs
- BidOverLoads.cs
- ObjectPersistData.cs
- SAPIEngineTypes.cs
- Compiler.cs
- Constants.cs
- DataGridToolTip.cs
- RepeatEnumerable.cs
- WebExceptionStatus.cs
- Region.cs
- XsdDuration.cs
- ServiceNameElementCollection.cs
- _MultipleConnectAsync.cs
- EncryptedData.cs
- TemplatePartAttribute.cs
- ExpressionBuilder.cs
- UntrustedRecipientException.cs
- ConnectionStringsExpressionBuilder.cs
- sqlnorm.cs
- nulltextcontainer.cs
- EventMappingSettingsCollection.cs
- LoginView.cs
- DbCommandTree.cs
- HttpFileCollection.cs
- XamlSerializationHelper.cs
- EventsTab.cs
- NamespaceDecl.cs
- GridProviderWrapper.cs
- BordersPage.cs
- M3DUtil.cs
- WorkflowPageSetupDialog.cs
- SafeHandle.cs
- DesignerActionService.cs
- NextPreviousPagerField.cs
- SectionVisual.cs
- OdbcStatementHandle.cs
- TypeUtil.cs
- ColorInterpolationModeValidation.cs
- Compiler.cs
- DisplayInformation.cs
- DbConnectionInternal.cs
- ListViewDeletedEventArgs.cs
- WebReferencesBuildProvider.cs
- SelfIssuedAuthRSAPKCS1SignatureFormatter.cs
- Translator.cs
- CompilerGeneratedAttribute.cs
- WorkItem.cs
- ContentPlaceHolder.cs
- NewItemsContextMenuStrip.cs
- UriSection.cs
- autovalidator.cs
- SafeFileMappingHandle.cs
- rsa.cs
- MailWriter.cs
- DataGridViewCellParsingEventArgs.cs
- ColumnResult.cs
- XmlSchemaFacet.cs
- DataTableReaderListener.cs
- TripleDESCryptoServiceProvider.cs
- ListViewInsertEventArgs.cs
- SessionStateItemCollection.cs
- ProcessHostFactoryHelper.cs
- Model3D.cs
- ThreadPoolTaskScheduler.cs
- InputGestureCollection.cs
- WsdlHelpGeneratorElement.cs
- DataControlCommands.cs
- RadioButtonDesigner.cs
- PerfCounters.cs
- RowVisual.cs
- AnimationClock.cs
- GroupByExpressionRewriter.cs
- AnnotationStore.cs