Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / ndp / fx / src / Sys / System / Configuration / NameValueFileSectionHandler.cs / 1 / NameValueFileSectionHandler.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Configuration { using System.Configuration.Internal; using System.IO; using System.Xml; using System.Runtime.Versioning; ////// /// public class NameValueFileSectionHandler : IConfigurationSectionHandler { [ResourceExposure(ResourceScope.None)] [ResourceConsumption(ResourceScope.Machine, ResourceScope.Machine)] public object Create(object parent, object configContext, XmlNode section) { object result = parent; // parse XML XmlNode fileAttribute = section.Attributes.RemoveNamedItem("file"); result = NameValueSectionHandler.CreateStatic(result, section); if (fileAttribute != null && fileAttribute.Value.Length != 0) { string filename = null; filename = fileAttribute.Value; IConfigErrorInfo configXmlNode = fileAttribute as IConfigErrorInfo; if (configXmlNode == null) { return null; } string configFile = configXmlNode.Filename; string directory = Path.GetDirectoryName(configFile); string sourceFileFullPath = Path.Combine(directory, filename); if (File.Exists(sourceFileFullPath)) { ConfigXmlDocument doc = new ConfigXmlDocument(); try { doc.Load(sourceFileFullPath); } catch (XmlException e) { throw new ConfigurationErrorsException(e.Message, e, sourceFileFullPath, e.LineNumber); } if (section.Name != doc.DocumentElement.Name) { throw new ConfigurationErrorsException( SR.GetString(SR.Config_name_value_file_section_file_invalid_root, section.Name), doc.DocumentElement); } result = NameValueSectionHandler.CreateStatic(result, doc.DocumentElement); } } return result; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ ///// This section handler allows <appSettings file="user.config" /> /// The file pointed to by the file= attribute is read as if it is /// an appSettings section in the config file. /// Note: the user.config file must have its root element match the /// section referring to it. So if appSettings has a file="user.config" /// attribute the root element in user.config must also be named appSettings. /// ///// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Configuration { using System.Configuration.Internal; using System.IO; using System.Xml; using System.Runtime.Versioning; ////// /// public class NameValueFileSectionHandler : IConfigurationSectionHandler { [ResourceExposure(ResourceScope.None)] [ResourceConsumption(ResourceScope.Machine, ResourceScope.Machine)] public object Create(object parent, object configContext, XmlNode section) { object result = parent; // parse XML XmlNode fileAttribute = section.Attributes.RemoveNamedItem("file"); result = NameValueSectionHandler.CreateStatic(result, section); if (fileAttribute != null && fileAttribute.Value.Length != 0) { string filename = null; filename = fileAttribute.Value; IConfigErrorInfo configXmlNode = fileAttribute as IConfigErrorInfo; if (configXmlNode == null) { return null; } string configFile = configXmlNode.Filename; string directory = Path.GetDirectoryName(configFile); string sourceFileFullPath = Path.Combine(directory, filename); if (File.Exists(sourceFileFullPath)) { ConfigXmlDocument doc = new ConfigXmlDocument(); try { doc.Load(sourceFileFullPath); } catch (XmlException e) { throw new ConfigurationErrorsException(e.Message, e, sourceFileFullPath, e.LineNumber); } if (section.Name != doc.DocumentElement.Name) { throw new ConfigurationErrorsException( SR.GetString(SR.Config_name_value_file_section_file_invalid_root, section.Name), doc.DocumentElement); } result = NameValueSectionHandler.CreateStatic(result, doc.DocumentElement); } } return result; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007./// This section handler allows <appSettings file="user.config" /> /// The file pointed to by the file= attribute is read as if it is /// an appSettings section in the config file. /// Note: the user.config file must have its root element match the /// section referring to it. So if appSettings has a file="user.config" /// attribute the root element in user.config must also be named appSettings. /// ///
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- httpstaticobjectscollection.cs
- Slider.cs
- EntityDataSourceSelectedEventArgs.cs
- BamlTreeUpdater.cs
- DataListItem.cs
- AndCondition.cs
- Deflater.cs
- Transform.cs
- CurrentChangingEventArgs.cs
- TextPatternIdentifiers.cs
- XPathNodePointer.cs
- TransformerConfigurationWizardBase.cs
- WebEvents.cs
- SqlGenericUtil.cs
- ConfigurationManagerInternal.cs
- RuntimeConfigurationRecord.cs
- InfoCardBaseException.cs
- DataGridViewSelectedRowCollection.cs
- SqlExpressionNullability.cs
- ListViewGroupConverter.cs
- _Connection.cs
- FloatUtil.cs
- ErrorsHelper.cs
- PerformanceCounterLib.cs
- SqlConnectionPoolProviderInfo.cs
- SslStreamSecurityUpgradeProvider.cs
- WindowsEditBox.cs
- WebPartDescriptionCollection.cs
- StringInfo.cs
- ConfigurationValidatorBase.cs
- EncodingTable.cs
- DotNetATv1WindowsLogEntryDeserializer.cs
- XmlSerializationGeneratedCode.cs
- DependencyObjectType.cs
- FlowLayoutSettings.cs
- ViewStateException.cs
- InProcStateClientManager.cs
- _AcceptOverlappedAsyncResult.cs
- WebPartMovingEventArgs.cs
- XmlNodeChangedEventArgs.cs
- XmlDataProvider.cs
- MembershipPasswordException.cs
- DBBindings.cs
- WorkflowViewElement.cs
- WebReferencesBuildProvider.cs
- CompoundFileStreamReference.cs
- RemotingConfigParser.cs
- OrderedDictionary.cs
- CompoundFileIOPermission.cs
- PropertyValidationContext.cs
- assertwrapper.cs
- WmiEventSink.cs
- JsonClassDataContract.cs
- DataGridViewUtilities.cs
- IntegerValidatorAttribute.cs
- SecurityUniqueId.cs
- OleStrCAMarshaler.cs
- validation.cs
- Rotation3DKeyFrameCollection.cs
- CodeIdentifier.cs
- XPathNode.cs
- mil_commands.cs
- BasicDesignerLoader.cs
- DrawingVisualDrawingContext.cs
- ResourceReferenceExpression.cs
- ReaderContextStackData.cs
- Transform.cs
- DataGridViewEditingControlShowingEventArgs.cs
- MenuDesigner.cs
- StateChangeEvent.cs
- PropertySourceInfo.cs
- FillRuleValidation.cs
- MD5.cs
- StylusCaptureWithinProperty.cs
- TypeInitializationException.cs
- HWStack.cs
- InheritanceContextHelper.cs
- Pair.cs
- DetailsViewUpdateEventArgs.cs
- RtfControlWordInfo.cs
- DateTimeStorage.cs
- ThrowHelper.cs
- Crc32.cs
- LineServicesCallbacks.cs
- TypeExtensionConverter.cs
- SiteMapSection.cs
- followingquery.cs
- IgnoreDataMemberAttribute.cs
- FieldBuilder.cs
- DeclarationUpdate.cs
- ThreadSafeList.cs
- HandlerBase.cs
- PagerSettings.cs
- SqlProcedureAttribute.cs
- CommandTreeTypeHelper.cs
- UserNamePasswordServiceCredential.cs
- XDeferredAxisSource.cs
- RightsManagementLicense.cs
- NetSectionGroup.cs
- XmlSchemaNotation.cs