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
- PathSegment.cs
- PackUriHelper.cs
- InputEventArgs.cs
- FlowPanelDesigner.cs
- RightsManagementInformation.cs
- SqlBooleanizer.cs
- WebPartCollection.cs
- FlowchartStart.xaml.cs
- NamespaceEmitter.cs
- MD5CryptoServiceProvider.cs
- HtmlTextArea.cs
- XMLSyntaxException.cs
- Stack.cs
- Events.cs
- XmlNodeReader.cs
- DataGridViewRowPostPaintEventArgs.cs
- ByteKeyFrameCollection.cs
- GZipObjectSerializer.cs
- DataSourceGroupCollection.cs
- ExpandoClass.cs
- Pen.cs
- _TransmitFileOverlappedAsyncResult.cs
- InheritanceContextHelper.cs
- BookmarkScopeManager.cs
- FontStretch.cs
- DataGridTablesFactory.cs
- HttpServerUtilityWrapper.cs
- Rules.cs
- UserNameSecurityToken.cs
- Environment.cs
- Separator.cs
- DesignerTextBoxAdapter.cs
- CodeBinaryOperatorExpression.cs
- TextSelectionHighlightLayer.cs
- JoinGraph.cs
- DataGridViewButtonColumn.cs
- SqlSelectStatement.cs
- Transform.cs
- URLMembershipCondition.cs
- ClientScriptItemCollection.cs
- SizeValueSerializer.cs
- ActivityDesignerHighlighter.cs
- PageThemeBuildProvider.cs
- NavigationExpr.cs
- WebPartEditVerb.cs
- CodeAttachEventStatement.cs
- SystemIPAddressInformation.cs
- ConstNode.cs
- WindowAutomationPeer.cs
- DCSafeHandle.cs
- QuaternionAnimation.cs
- WebPartTransformer.cs
- PiiTraceSource.cs
- SchemaSetCompiler.cs
- DocumentReference.cs
- ThreadPool.cs
- ClientOptions.cs
- HttpApplicationFactory.cs
- SqlLiftIndependentRowExpressions.cs
- RotateTransform3D.cs
- ReachDocumentSequenceSerializerAsync.cs
- FrameSecurityDescriptor.cs
- FromRequest.cs
- PropertyDescriptorGridEntry.cs
- SiteMembershipCondition.cs
- OpCopier.cs
- InputScope.cs
- CalculatedColumn.cs
- CodeAttributeArgument.cs
- TypeReference.cs
- DecoderFallbackWithFailureFlag.cs
- SerTrace.cs
- RenderData.cs
- XmlHierarchicalEnumerable.cs
- CachingHintValidation.cs
- DoubleLink.cs
- DoubleAnimationClockResource.cs
- DataGridViewCellParsingEventArgs.cs
- WindowsProgressbar.cs
- SimpleHandlerBuildProvider.cs
- RtfControlWordInfo.cs
- AVElementHelper.cs
- DllNotFoundException.cs
- OutputScopeManager.cs
- EntityDataSourceMemberPath.cs
- GroupBox.cs
- complextypematerializer.cs
- LineMetrics.cs
- DataService.cs
- BitVector32.cs
- BuildProviderCollection.cs
- Itemizer.cs
- WarningException.cs
- MediaElementAutomationPeer.cs
- EntityDataSourceContextCreatingEventArgs.cs
- WindowsListViewGroupHelper.cs
- DataControlCommands.cs
- KnownBoxes.cs
- ZipIOFileItemStream.cs
- XsdBuilder.cs