We need you! We're working hard on the next version of Developer Fusion -
Let us know what you think we should be up to!
-
Expand
Microsoft.Win32
-
Expand
Microsoft.Win32.SafeHandles
-
Expand
System
-
Expand
System.Runtime.Hosting
-
Expand
System.Runtime.InteropServices
-
Expand
System.Runtime.CompilerServices
-
Expand
System.Collections
-
Expand
System.Collections.Generic
-
Expand
System.Collections.ObjectModel
-
Expand
System.Configuration.Assemblies
-
Expand
System.Diagnostics
-
Expand
System.Diagnostics.CodeAnalysis
-
Expand
System.Diagnostics.SymbolStore
-
Expand
System.Globalization
-
Expand
System.IO
-
Expand
System.IO.IsolatedStorage
-
Expand
System.Reflection
-
Expand
System.Reflection.Cache
-
Expand
System.Reflection.Emit
-
Expand
System.Resources
-
Expand
System.Runtime
-
Expand
System.Runtime.InteropServices.Expando
-
Expand
System.Runtime.ConstrainedExecution
-
Expand
System.Runtime.Remoting.Activation
-
Expand
System.Runtime.Remoting.Messaging
-
Expand
System.Runtime.Remoting.Channels
-
Expand
System.Runtime.Remoting.Lifetime
-
Expand
System.Runtime.Remoting
-
Expand
System.Runtime.Remoting.Contexts
-
Expand
System.Runtime.Remoting.Proxies
-
Expand
System.Runtime.Remoting.Metadata
-
Expand
System.Runtime.Remoting.Metadata.W3cXsd2001
-
Expand
System.Runtime.Remoting.Services
-
Expand
System.Runtime.Serialization
-
Expand
System.Runtime.Serialization.Formatters
-
Expand
System.Runtime.Serialization.Formatters.Binary
-
Expand
System.Runtime.Versioning
-
Expand
System.Security
-
Expand
System.Security.Cryptography
-
Expand
System.Security.Cryptography.X509Certificates
-
Expand
System.Security.Permissions
-
Expand
System.Security.Policy
-
Expand
System.Security.Principal
-
Expand
System.Security.Util
-
Expand
System.Text
-
Expand
System.Threading
-
Expand
System.Runtime.Remoting.Channels.Http
-
Expand
System.Runtime.Remoting.Channels.Tcp
-
Expand
System.Runtime.Remoting.MetadataServices
-
Expand
System.Runtime.Serialization.Formatters.Soap.Xml
-
Expand
System.Runtime.Serialization.Formatters.Soap
-
Expand
Microsoft.Tools.Caspol
-
Expand
Microsoft.Tools.Build
-
Expand
Microsoft.CSharp
-
Expand
System.CodeDom
-
Expand
System.CodeDom.Compiler
-
Expand
System.Collections.Specialized
-
Expand
System.ComponentModel
-
Expand
System.ComponentModel.Design
-
Expand
System.ComponentModel.Design.Serialization
-
Expand
System.Configuration
-
Expand
ApplicationScopedSettingAttribute
-
Expand
ApplicationSettingsGroup
-
Expand
AppSettingsReader
-
Expand
AppSettingsSection
-
Expand
BaseConfigurationRecord
-
AddImplicitSections(Hashtable)
-
AddLocation(string)
-
AllowDefinitionToEnum(string, XmlUtil)
-
AllowExeDefinitionToEnum(string, XmlUtil)
-
BaseConfigurationRecord()
-
CallCreateSection(bool, FactoryRecord, SectionRecord, object, ConfigXmlReader, string, int)
-
CallHostDecryptSection(string, ProtectedConfigurationProvider, ProtectedConfigurationSection)
-
CheckPermissionAllowed(string, bool, bool)
-
ClassFlags()
-
CloseRecursive()
-
CombineConfigKey(string, string)
-
ConfigContext()
-
ConfigPath()
-
ConfigStreamInfo()
-
CreateSection(bool, FactoryRecord, SectionRecord, object, ConfigXmlReader)
-
CreateSectionDefault(string, bool, FactoryRecord, SectionRecord, object, object)
-
CreateSectionFactory(FactoryRecord)
-
DecryptConfigSection(ConfigXmlReader, ProtectedConfigurationProvider)
-
DefaultProviderName()
-
EnsureFactories()
-
EnsureLocationSections()
-
EnsureSectionRecord(string, bool)
-
EnsureSectionRecordImpl(string, bool, bool)
-
EnsureSectionRecordUnsafe(string, bool)
-
Evaluate(FactoryRecord, SectionRecord, object, bool, bool, object, object)
-
EvaluateOne(string, SectionInput, bool, FactoryRecord, SectionRecord, object)
-
FindAndEnsureFactoryRecord(string, bool)
-
FindChangedConfigurationStream()
-
FindFactoryRecord(string, bool)
-
FindFactoryRecord(string, bool, BaseConfigurationRecord)
-
FindSection(string, SectionXmlInfo, int)
-
FindSectionRecursive(string, int, XmlUtil, int)
-
GetFactoryRecord(string, bool)
-
GetLkgSection(string)
-
GetProtectionProviderFromName(string, bool)
-
GetRestrictedPermissions()
-
GetRuntimeObject(object)
-
GetSection(string)
-
GetSection(string, bool, bool)
-
GetSectionRecord(string, bool)
-
GetSectionRecursive(string, bool, bool, bool, bool, object, object)
-
GetSectionXmlReader(string, SectionInput)
-
HasFactoryRecords()
-
HasInitErrors()
-
HasStream()
-
HasStreamChanged(string, object)
-
hlAddChild(string, BaseConfigurationRecord)
-
hlClearResultRecursive(string, bool)
-
hlGetChild(string)
-
hlNeedsChildFor(string)
-
hlRemoveChild(string)
-
Host()
-
Impersonate()
-
Init(IInternalConfigRoot, BaseConfigurationRecord, string, string)
-
InitConfigFromFile()
-
InitProtectedConfigurationSection()
-
IsDefinitionAllowed(ConfigurationAllowDefinition, ConfigurationAllowExeDefinition)
-
IsEmpty()
-
IsImplicitSection(string)
-
IsInitDelayed()
-
IsLocationConfig()
-
IsMachineConfig()
-
IsParentCausingLock(string)
-
IsReservedAttributeName(string)
-
IsRootConfig()
-
IsRootDeclaration(string, bool)
-
IsSectionLocked(string)
-
LoadConfigSource(string, SectionXmlInfo)
-
LocationSubPath()
-
MonitorStream(string, string, string)
-
NormalizeConfigSource(string, IConfigErrorInfo)
-
NormalizeLocationSubPath(string, IConfigErrorInfo)
-
OnStreamChanged(string)
-
Parent()
-
ProtectedConfig()
-
RecordSupportsLocation()
-
RefreshFactoryRecord(string)
-
RefreshSection(string)
-
Remove()
-
ResolveLocationSections()
-
ScanFactories(XmlUtil)
-
ScanFactoriesRecursive(XmlUtil, string, Hashtable)
-
ScanLocationSection(XmlUtil)
-
ScanSections(XmlUtil)
-
ScanSectionsRecursive(XmlUtil, string, bool, string, bool, bool)
-
ShouldPrefetchRawXml(FactoryRecord)
-
ShouldSkipDueToInheritInChildApplications(bool)
-
SplitConfigKey(string, string, string)
-
StreamName()
-
ThrowIfInitErrors()
-
ThrowIfParseErrors(ConfigurationSchemaErrors)
-
UnrestrictedConfigPermission()
-
UseParentResult(string, object, SectionRecord)
-
ValidateProtectionProviderAttribute(string, IConfigErrorInfo)
-
ValidateUniqueChildConfigSource(string, string, string, IConfigErrorInfo)
-
ValidateUniqueConfigSource(string, string, string, IConfigErrorInfo)
-
VerifyDefinitionAllowed(FactoryRecord, string, IConfigErrorInfo)
-
VerifySectionName(string, IConfigErrorInfo, bool)
-
VerifySectionName(string, XmlUtil, ExceptionAction, bool)
-
VerifySectionUnlocked(string, IConfigErrorInfo)
-
Expand
CallbackValidator
-
Expand
CallbackValidatorAttribute
-
Expand
ClientConfigPaths
-
Expand
ClientConfigPerf
-
Expand
ClientConfigurationHost
-
Expand
ClientConfigurationSystem
-
Expand
ClientSettingsConfigurationHost
-
Expand
ClientSettingsSection
-
Expand
ClientSettingsStore
-
Expand
CommaDelimitedStringCollection
-
Expand
CommaDelimitedStringCollectionConverter
-
Expand
ConfigDefinitionUpdates
-
Expand
ConfigPathUtility
-
Expand
ConfigRecordStreamInfo
-
Expand
Configuration
-
Expand
ConfigurationAllowDefinition
-
Expand
ConfigurationAllowExeDefinition
-
Expand
ConfigurationCollectionAttribute
-
Expand
ConfigurationConverterBase
-
Expand
ConfigurationElement
-
Expand
ConfigurationElementCollection
-
Expand
ConfigurationElementCollectionType
-
Expand
ConfigurationElementProperty
-
Expand
ConfigurationElementsCollection
-
Expand
ConfigurationErrorsException
-
Expand
ConfigurationException
-
Expand
ConfigurationFileMap
-
Expand
ConfigurationLocation
-
Expand
ConfigurationLocationCollection
-
Expand
ConfigurationLockCollection
-
Expand
ConfigurationLockCollectionType
-
Expand
ConfigurationManager
-
Expand
ConfigurationManagerHelperFactory
-
Expand
ConfigurationManagerInternalFactory
-
Expand
ConfigurationPermission
-
Expand
ConfigurationPermissionAttribute
-
Expand
ConfigurationProperty
-
Expand
ConfigurationPropertyAttribute
-
Expand
ConfigurationPropertyCollection
-
Expand
ConfigurationPropertyOptions
-
Expand
ConfigurationSaveMode
-
Expand
ConfigurationSchemaErrors
-
Expand
ConfigurationSection
-
Expand
ConfigurationSectionCollection
-
Expand
ConfigurationSectionGroup
-
Expand
ConfigurationSectionGroupCollection
-
Expand
ConfigurationSettings
-
Expand
ConfigurationUserLevel
-
Expand
ConfigurationValidatorAttribute
-
Expand
ConfigurationValidatorBase
-
Expand
ConfigurationValue
-
Expand
ConfigurationValueFlags
-
Expand
ConfigurationValues
-
Expand
ConfigXmlAttribute
-
Expand
ConfigXmlAttribute
-
Expand
ConfigXmlCDataSection
-
Expand
ConfigXmlCDataSection
-
Expand
ConfigXmlComment
-
Expand
ConfigXmlComment
-
Expand
ConfigXmlDocument
-
Expand
ConfigXmlElement
-
Expand
ConfigXmlElement
-
Expand
ConfigXmlReader
-
Expand
ConfigXmlSignificantWhitespace
-
Expand
ConfigXmlSignificantWhitespace
-
Expand
ConfigXmlText
-
Expand
ConfigXmlText
-
Expand
ConfigXmlWhitespace
-
Expand
ConfigXmlWhitespace
-
Expand
ConnectionStringSettings
-
Expand
ConnectionStringSettingsCollection
-
Expand
ConnectionStringsSection
-
Expand
ContextInformation
-
Expand
CRYPTPROTECT_PROMPTSTRUCT
-
Expand
DATA_BLOB
-
Expand
Debug
-
Expand
DeclarationUpdate
-
Expand
DefaultSection
-
Expand
DefaultSettingValueAttribute
-
Expand
DefaultValidator
-
Expand
DefinitionUpdate
-
Expand
DictionarySectionHandler
-
Expand
ElementInformation
-
Expand
EmptyCollection
-
Expand
EmptyCollectionEnumerator
-
Expand
EmptyImpersonationContext
-
Expand
Entry
-
Expand
EntryType
-
Expand
Enumerator
-
Expand
ErrorInfoXmlDocument
-
Expand
ErrorsHelper
-
Expand
ExceptionAction
-
Expand
ExceptionUtil
-
Expand
ExeConfigurationFileMap
-
Expand
ExeContext
-
Expand
FactoryId
-
Expand
FactoryRecord
-
Expand
FileUtil
-
Expand
GenericEnumConverter
-
Expand
HandlerBase
-
Expand
IApplicationSettingsProvider
-
Expand
IConfigurationSectionHandler
-
Expand
IConfigurationSystem
-
Expand
IgnoreSection
-
Expand
IgnoreSectionHandler
-
Expand
InfiniteIntConverter
-
Expand
InfiniteTimeSpanConverter
-
Expand
InheritedType
-
Expand
InitState
-
Expand
IntegerValidator
-
Expand
IntegerValidatorAttribute
-
Expand
InvalidPropValue
-
Expand
InvalidValuesCollection
-
Expand
IPersistComponentSettings
-
Expand
ISettingsProviderService
-
Expand
KeyValueConfigurationCollection
-
Expand
KeyValueConfigurationElement
-
Expand
KeyValueInternalCollection
-
Expand
LocalFileSettingsProvider
-
Expand
LocationSectionRecord
-
Expand
LocationUpdates
-
Expand
LongValidator
-
Expand
LongValidatorAttribute
-
Expand
MBResult
-
Expand
MgmtConfigurationRecord
-
Expand
MSG
-
Expand
NamespaceChange
-
Expand
NameValueConfigurationCollection
-
Expand
NameValueConfigurationElement
-
Expand
NameValueFileSectionHandler
-
Expand
NameValueSectionHandler
-
Expand
NativeMethods
-
Expand
NoSettingsVersionUpgradeAttribute
-
Expand
PositiveTimeSpanValidator
-
Expand
PositiveTimeSpanValidatorAttribute
-
Expand
PrivilegedConfigurationManager
-
Expand
PropertyInformation
-
Expand
PropertyInformationCollection
-
Expand
PropertySourceInfo
-
Expand
PropertyValueOrigin
-
Expand
ProtectedConfiguration
-
Expand
ProtectedConfigurationProvider
-
Expand
ProtectedConfigurationProviderCollection
-
Expand
ProtectedConfigurationSection
-
Expand
ProtectedProviderSettings
-
Expand
ProviderSettings
-
Expand
ProviderSettingsCollection
-
Expand
QuotaEnforcedStream
-
Expand
ReadOnlyNameValueCollection
-
Expand
RegexStringValidator
-
Expand
RegexStringValidatorAttribute
-
Expand
RuntimeConfigurationFactory
-
Expand
RuntimeConfigurationRecord
-
Expand
SafeBitVector32
-
Expand
SafeRegistryHandle
-
Expand
SectionInformation
-
Expand
SectionInput
-
Expand
SectionRecord
-
Expand
SectionUpdates
-
Expand
SectionXmlInfo
-
Expand
SettingAttribute
-
Expand
SettingElement
-
Expand
SettingElementCollection
-
Expand
SettingsAttributeDictionary
-
Expand
SettingsBase
-
Expand
SettingsContext
-
Expand
SettingsDescriptionAttribute
-
Expand
SettingsGroupDescriptionAttribute
-
Expand
SettingsGroupNameAttribute
-
Expand
SettingsManageability
-
Expand
SettingsManageabilityAttribute
-
Expand
SettingsProperty
-
Expand
SettingsPropertyCollection
-
Expand
SettingsPropertyIsReadOnlyException
-
Expand
SettingsPropertyNotFoundException
-
Expand
SettingsPropertyValue
-
Expand
SettingsPropertyValueCollection
-
Expand
SettingsPropertyWrongTypeException
-
Expand
SettingsProvider
-
Expand
SettingsProviderAttribute
-
Expand
SettingsProviderCollection
-
Expand
SettingsSerializeAs
-
Expand
SettingsSerializeAsAttribute
-
Expand
SettingValueElement
-
Expand
SimpleBitVector32
-
Expand
SingleTagSectionHandler
-
Expand
SpecialSetting
-
Expand
SpecialSettingAttribute
-
Expand
StoredSetting
-
Expand
StreamInfo
-
Expand
StreamUpdate
-
Expand
StreamWriterCheckpoint
-
Expand
StringUtil
-
Expand
StringValidator
-
Expand
StringValidatorAttribute
-
Expand
SubclassTypeValidator
-
Expand
SubclassTypeValidatorAttribute
-
Expand
Tag
-
Expand
TagValue
-
Expand
TimeSpanMinutesConverter
-
Expand
TimeSpanMinutesOrInfiniteConverter
-
Expand
TimeSpanSecondsConverter
-
Expand
TimeSpanSecondsOrInfiniteConverter
-
Expand
TimeSpanValidator
-
Expand
TimeSpanValidatorAttribute
-
Expand
TypeNameConverter
-
Expand
TypeUtil
-
Expand
TypeUtil
-
Expand
Update
-
Expand
UpdateConfigHost
-
Expand
UrlPath
-
Expand
UserScopedSettingAttribute
-
Expand
UserSettingsGroup
-
Expand
ValidationFlags
-
Expand
ValidationFlags
-
Expand
ValidationFlags
-
Expand
ValidatorUtils
-
Expand
WhiteSpaceTrimStringConverter
-
Expand
XmlEscaper
-
Expand
XmlUtil
-
Expand
XmlUtilWriter
-
Expand
System.Web
-
Expand
System.Configuration.Provider
-
Expand
System.Configuration.Internal
-
Expand
System.Internal
-
Expand
System.Windows.Forms
-
Expand
System.Net
-
Expand
System.Net.Sockets
-
Expand
System.Net.NetworkInformation
-
Expand
System.Net.ComImports
-
Expand
System.Net.Security
-
Expand
System.Net.Cache
-
Expand
System.Net.Configuration
-
Expand
System.Text.RegularExpressions
-
Expand
System.Tools
-
Expand
System.IO.Compression
-
Expand
System.IO.Ports
-
Expand
System.Security.AccessControl
-
Expand
System.Xml
-
Expand
System.Xml.XPath.DataBinding
-
Expand
System.Xml.Schema
-
Expand
System.Xml.Serialization
-
Expand
System.Xml.Serialization.Advanced
-
Expand
System.Xml.Serialization.Configuration
-
Expand
System.Xml.XPath
-
Expand
System.Xml.Xsl
-
Expand
System.Xml.Xsl.IlGen
-
Expand
System.Xml.Xsl.Qil
-
Expand
System.Xml.Xsl.Runtime
-
Expand
System.Xml.Xsl.XPath
-
Expand
System.Xml.Xsl.Xslt
-
Expand
System.Xml.Xsl.XsltOld
-
Expand
System.Xml.Xsl.XsltOld.Debugger
-
Expand
Microsoft.JScript
-
Expand
Microsoft.Vsa
-
Expand
Microsoft.JScript.Vsa
- namespace System.Configuration
- {
- using System.Configuration.Internal;
- using System.Collections;
- using System.Collections.Generic;
- using System.Collections.Specialized;
- using System.Configuration;
- using System.Globalization;
- using System.IO;
- using System.Reflection;
- using System.Runtime.InteropServices;
- using System.Security.Permissions;
- using System.Security;
- using System.Text;
- using System.Xml;
-
-
-
-
- internal abstract class BaseConfigurationRecord : IInternalConfigRecord
- {
- protected const string NL = "\r\n";
- protected const string KEYWORD_TRUE = "true";
- protected const string KEYWORD_FALSE = "false";
- protected const string KEYWORD_CONFIGURATION = "configuration";
- protected const string KEYWORD_CONFIGURATION_NAMESPACE = "http://schemas.microsoft.com/.NetConfiguration/v2.0";
- protected const string KEYWORD_CONFIGSECTIONS = "configSections";
- protected const string KEYWORD_SECTION = "section";
- protected const string KEYWORD_SECTION_NAME = "name";
- protected const string KEYWORD_SECTION_TYPE = "type";
- protected const string KEYWORD_SECTION_ALLOWLOCATION = "allowLocation";
- protected const string KEYWORD_SECTION_ALLOWDEFINITION = "allowDefinition";
- protected const string KEYWORD_SECTION_ALLOWDEFINITION_EVERYWHERE = "Everywhere";
- protected const string KEYWORD_SECTION_ALLOWDEFINITION_MACHINEONLY = "MachineOnly";
- protected const string KEYWORD_SECTION_ALLOWDEFINITION_MACHINETOAPPLICATION = "MachineToApplication";
- protected const string KEYWORD_SECTION_ALLOWDEFINITION_MACHINETOWEBROOT = "MachineToWebRoot";
- protected const string KEYWORD_SECTION_ALLOWEXEDEFINITION = "allowExeDefinition";
- protected const string KEYWORD_SECTION_ALLOWEXEDEFINITION_MACHTOROAMING = "MachineToRoamingUser";
- protected const string KEYWORD_SECTION_ALLOWEXEDEFINITION_MACHTOLOCAL = "MachineToLocalUser";
- protected const string KEYWORD_SECTION_RESTARTONEXTERNALCHANGES = "restartOnExternalChanges";
- protected const string KEYWORD_SECTION_REQUIREPERMISSION = "requirePermission";
- protected const string KEYWORD_SECTIONGROUP = "sectionGroup";
- protected const string KEYWORD_SECTIONGROUP_NAME = "name";
- protected const string KEYWORD_SECTIONGROUP_TYPE = "type";
- protected const string KEYWORD_REMOVE = "remove";
- protected const string KEYWORD_CLEAR = "clear";
- protected const string KEYWORD_LOCATION = "location";
- protected const string KEYWORD_LOCATION_PATH = "path";
- protected const string KEYWORD_LOCATION_ALLOWOVERRIDE = "allowOverride";
- protected const string KEYWORD_LOCATION_INHERITINCHILDAPPLICATIONS = "inheritInChildApplications";
- protected const string KEYWORD_CONFIGSOURCE = "configSource";
- protected const string KEYWORD_XMLNS = "xmlns";
- internal const string KEYWORD_PROTECTION_PROVIDER = "configProtectionProvider";
-
- protected const string FORMAT_NEWCONFIGFILE = "<?xml version=\"1.0\" encoding=\"{0}\"?>\r\n";
- protected const string FORMAT_CONFIGURATION = "<configuration>\r\n";
- protected const string FORMAT_CONFIGURATION_NAMESPACE = "<configuration xmlns=\"{0}\">\r\n";
- protected const string FORMAT_CONFIGURATION_ENDELEMENT = "</configuration>";
-
- protected const string FORMAT_LOCATION_NOPATH = "<location allowOverride=\"{0}\" inheritInChildApplications=\"{1}\">\r\n";
- protected const string FORMAT_LOCATION_PATH = "<location path=\"{2}\" allowOverride=\"{0}\" inheritInChildApplications=\"{1}\">\r\n";
- protected const string FORMAT_LOCATION_ENDELEMENT = "</location>";
-
- protected const string FORMAT_SECTION_CONFIGSOURCE = "<{0} configSource=\"{1}\" />";
- protected const string FORMAT_CONFIGSOURCE_FILE = "<?xml version=\"1.0\" encoding=\"{0}\"?>\r\n";
-
- protected const string FORMAT_SECTIONGROUP_ENDELEMENT = "</sectionGroup>";
-
-
- protected const int ClassSupportsChangeNotifications = 1;
- protected const int ClassSupportsRefresh = 2;
- protected const int ClassSupportsImpersonation = 4;
- protected const int ClassSupportsRestrictedPermissions = 8;
- protected const int ClassSupportsKeepInputs = 16;
- protected const int ClassSupportsDelayedInit = 32;
- protected const int ClassIgnoreLocalErrors = 64;
-
-
- protected const int ProtectedDataInitialized = 1;
- protected const int Closed = 2;
- protected const int PrefetchAll = 8;
- protected const int IsAboveApplication = 32;
- private const int ContextEvaluated = 128;
- private const int IsLocationListResolved = 256;
- protected const int NamespacePresentInFile = 512;
-
-
- private const int RestrictedPermissionsResolved = 2048;
-
- protected const int IsTrusted = 8192;
-
- protected const int SupportsChangeNotifications = 65536;
- protected const int SupportsRefresh = 131072;
- protected const int SupportsPath = 262144;
- protected const int SupportsKeepInputs = 524288;
- protected const int SupportsLocation = 1048576;
-
-
- protected const int ForceLocationWritten = 16777216;
- protected const int SuggestLocationRemoval = 33554432;
- protected const int NamespacePresentCurrent = 67108864;
-
- internal const char ConfigPathSeparatorChar = '/';
- internal const string ConfigPathSeparatorString = "/";
- static internal readonly char[] ConfigPathSeparatorParams = new char[] {ConfigPathSeparatorChar};
-
- private static ConfigurationPermission s_unrestrictedConfigPermission;
-
- protected SafeBitVector32 _flags;
-
- protected BaseConfigurationRecord _parent;
-
- protected Hashtable _children;
-
- protected InternalConfigRoot _configRoot;
-
- protected string _configName;
-
- protected string _configPath;
-
- protected string _locationSubPath;
-
- private ConfigRecordStreamInfo _configStreamInfo;
-
- private object _configContext;
-
- private ProtectedConfigurationSection _protectedConfig;
-
- private PermissionSet _restrictedPermissions;
-
- private ConfigurationSchemaErrors _initErrors;
-
- private BaseConfigurationRecord _initDelayedRoot;
-
-
-
- protected Hashtable _factoryRecords;
-
-
-
-
-
- protected Hashtable _sectionRecords;
-
-
-
- protected ArrayList _locationSections;
-
-
- internal BaseConfigurationRecord()
- {
-
- _flags = new SafeBitVector32();
- }
-
-
- protected abstract SimpleBitVector32 ClassFlags {
- get;
- }
-
-
- protected abstract object CreateSectionFactory(FactoryRecord factoryRecord);
-
-
- protected abstract object CreateSection(bool inputIsTrusted, FactoryRecord factoryRecord, SectionRecord sectionRecord, object parentConfig, ConfigXmlReader reader);
-
-
- protected abstract object UseParentResult(string configKey, object parentResult, SectionRecord sectionRecord);
-
-
- protected abstract object GetRuntimeObject(object result);
-
-
-
-
-
- public string ConfigPath {
- get { return _configPath; }
- }
-
- public string StreamName {
- get { return ConfigStreamInfo.StreamName; }
- }
-
- public bool HasInitErrors {
- get { return _initErrors.HasErrors(ClassFlags[ClassIgnoreLocalErrors]); }
- }
-
- public void ThrowIfInitErrors()
- {
- ThrowIfParseErrors(_initErrors);
- }
-
- public object GetSection(string configKey)
- {
- #if DBG
-
-
- if (configKey == "system.diagnostics" && !ClassFlags[ClassIgnoreLocalErrors]) {
- return GetSection(configKey, true, true);
- }
- else {
- return GetSection(configKey, false, true);
- }
- #else
-
- return GetSection(configKey, false, true);
- #endif
- }
-
- public object GetLkgSection(string configKey)
- {
- return GetSection(configKey, true, true);
- }
-
- public void RefreshSection(string configKey)
- {
- _configRoot.ClearResult(this, configKey, true);
- }
-
- public void Remove()
- {
- _configRoot.RemoveConfigRecord(this);
- }
-
-
-
-
-
- internal bool HasStream {
- get { return ConfigStreamInfo.HasStream; }
- }
-
-
- private bool ShouldPrefetchRawXml(FactoryRecord factoryRecord)
- {
- if (_flags[PrefetchAll])
- return true;
-
- switch (factoryRecord.ConfigKey) {
- case BaseConfigurationRecord.RESERVED_SECTION_PROTECTED_CONFIGURATION:
- case "system.diagnostics":
- case "appSettings":
- case "connectionStrings":
- return true;
- }
-
- return Host.PrefetchSection(factoryRecord.Group, factoryRecord.Name);
- }
-
- protected IDisposable Impersonate()
- {
- IDisposable context = null;
- if (ClassFlags[ClassSupportsImpersonation]) {
- context = Host.Impersonate();
- }
-
- if (context == null) {
- context = EmptyImpersonationContext.GetStaticInstance();
- }
-
- return context;
- }
-
- internal PermissionSet GetRestrictedPermissions()
- {
- if (!_flags[RestrictedPermissionsResolved]) {
- PermissionSet restrictedPermissions;
- bool isHostReady;
-
- Host.GetRestrictedPermissions(this, out restrictedPermissions, out isHostReady);
- if (isHostReady) {
- _restrictedPermissions = restrictedPermissions;
- _flags[RestrictedPermissionsResolved] = true;
- }
- }
-
- return _restrictedPermissions;
- }
-
- internal void Init(IInternalConfigRoot configRoot, BaseConfigurationRecord parent, string configPath, string locationSubPath)
- {
-
- _initErrors = new ConfigurationSchemaErrors();
-
-
-
-
-
-
- try {
- _configRoot = (InternalConfigRoot)configRoot;
- _parent = parent;
- _configPath = configPath;
- _locationSubPath = locationSubPath;
- _configName = ConfigPathUtility.GetName(configPath);
-
- if (IsLocationConfig) {
- _configStreamInfo = _parent.ConfigStreamInfo;
- }
- else {
- &nb