Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / Tools / xws_reg / System / ServiceModel / Install / Configuration / ConfigurationLoader.cs / 1 / ConfigurationLoader.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.ServiceModel.Install.Configuration { using WebAdmin = Microsoft.Web.Administration; using System; using System.ServiceModel; using System.Configuration; using System.ServiceModel.Configuration; using System.Web.Configuration; using System.Xml; internal abstract class ConfigurationLoader { protected Configuration machineConfiguration; protected Configuration rootWebConfiguration; internal abstract Configuration MachineConfiguration { get; } internal string MachineConfigurationFilePath { get { string filePath = null; if (null != this.MachineConfiguration) { filePath = this.MachineConfiguration.FilePath; } return filePath; } } internal abstract Configuration RootWebConfiguration { get; } internal string RootWebConfigurationFilePath { get { string filePath = null; if (null != this.RootWebConfiguration) { filePath = this.RootWebConfiguration.FilePath; } return filePath; } } internal ProtocolsSection ProtocolsSection { get { return (ProtocolsSection)this.RootWebConfiguration.GetSection(this.ProtocolsSectionPath); } } internal string ProtocolsSectionPath { get { return "system.web/protocols"; } } internal ServiceHostingEnvironmentSection ServiceHostingEnvironmentSection { get { return (ServiceHostingEnvironmentSection)this.RootWebConfiguration.GetSection(this.ServiceHostingEnvironmentSectionPath); } } internal string ServiceHostingEnvironmentSectionPath { get { return "system.serviceModel/serviceHostingEnvironment"; } } internal SystemWebSectionGroup SystemWebSectionGroup { get { return (SystemWebSectionGroup)this.RootWebConfiguration.GetSectionGroup(this.SystemWebSectionGroupPath); } } internal string SystemWebSectionGroupPath { get { return "system.web"; } } internal bool RemoveNodeFromConfigFile(string configFilePath, string xpath, bool ifNodeIsEmpty) { bool retVal = false; XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(configFilePath); XmlNode node = xmlDoc.SelectSingleNode(xpath); if (null != node) { if (ifNodeIsEmpty) { if (0 == node.Attributes.Count && !node.HasChildNodes) { node.ParentNode.RemoveChild(node); retVal = true; } } else { node.ParentNode.RemoveChild(node); retVal = true; } } if (retVal) { xmlDoc.Save(configFilePath); if (configFilePath.Equals(this.MachineConfigurationFilePath, StringComparison.OrdinalIgnoreCase)) { this.machineConfiguration = null; } else if (configFilePath.Equals(this.RootWebConfigurationFilePath, StringComparison.OrdinalIgnoreCase)) { this.rootWebConfiguration = null; } } return retVal; } internal virtual void Save() { if (null != this.machineConfiguration) { this.machineConfiguration.Save(); this.machineConfiguration = null; } if (null != this.rootWebConfiguration) { this.rootWebConfiguration.Save(); this.rootWebConfiguration = null; } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- KnownBoxes.cs
- BuildManager.cs
- MemberInfoSerializationHolder.cs
- Win32SafeHandles.cs
- XmlNullResolver.cs
- ResourceReferenceKeyNotFoundException.cs
- BindingList.cs
- ActivationArguments.cs
- ProcessModule.cs
- Screen.cs
- LocalValueEnumerator.cs
- DynamicMetaObject.cs
- NumericUpDownAcceleration.cs
- ADMembershipUser.cs
- DataRow.cs
- SizeAnimationClockResource.cs
- ImportCatalogPart.cs
- FixedPageProcessor.cs
- EventLogLink.cs
- SignedXml.cs
- ListComponentEditorPage.cs
- RequestCache.cs
- LineSegment.cs
- Int32Rect.cs
- GeneralTransform3DGroup.cs
- MergeFilterQuery.cs
- BindingsCollection.cs
- JsonReader.cs
- WindowsGraphicsWrapper.cs
- BindingRestrictions.cs
- PageParserFilter.cs
- ProfilePropertySettings.cs
- WindowCollection.cs
- SqlTopReducer.cs
- PropertySegmentSerializationProvider.cs
- SynchronousChannel.cs
- ListViewSelectEventArgs.cs
- WebZone.cs
- DoubleStorage.cs
- CompositeActivityValidator.cs
- ErasingStroke.cs
- RuleSettingsCollection.cs
- BitmapImage.cs
- clipboard.cs
- DateTimePicker.cs
- KnownColorTable.cs
- MsmqTransportSecurityElement.cs
- AnnotationComponentChooser.cs
- XslVisitor.cs
- RecordsAffectedEventArgs.cs
- XamlSerializer.cs
- ImageIndexEditor.cs
- EqualityComparer.cs
- InkCanvasSelection.cs
- BindingMemberInfo.cs
- AsymmetricSignatureFormatter.cs
- StoragePropertyMapping.cs
- InfoCardCryptoHelper.cs
- SQLInt32Storage.cs
- OdbcConnectionFactory.cs
- WebPartCloseVerb.cs
- ImageListDesigner.cs
- AttributeEmitter.cs
- SqlTypeSystemProvider.cs
- ToolStripSeparator.cs
- QueryStringParameter.cs
- EncoderExceptionFallback.cs
- ConnectionPointCookie.cs
- PluralizationService.cs
- SafeSecurityHandles.cs
- SecurityMode.cs
- XsltContext.cs
- Command.cs
- WSFederationHttpSecurityMode.cs
- BufferedStream.cs
- ColumnMapVisitor.cs
- TrackBarRenderer.cs
- ReflectEventDescriptor.cs
- WeakEventManager.cs
- LazyTextWriterCreator.cs
- RequestCacheEntry.cs
- PlatformNotSupportedException.cs
- Regex.cs
- DataGridSortingEventArgs.cs
- DataBoundLiteralControl.cs
- ValidationRuleCollection.cs
- XPathNodePointer.cs
- Shape.cs
- SqlDependencyUtils.cs
- SingleAnimationBase.cs
- ToolboxComponentsCreatedEventArgs.cs
- DataService.cs
- IpcClientChannel.cs
- TableColumn.cs
- WebExceptionStatus.cs
- AppDomainProtocolHandler.cs
- FixedHighlight.cs
- ServiceDebugElement.cs
- ValidationHelper.cs
- InheritablePropertyChangeInfo.cs