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
- AutomationPatternInfo.cs
- shaper.cs
- LineServicesCallbacks.cs
- StrokeNodeEnumerator.cs
- XamlReaderHelper.cs
- DataSourceView.cs
- ConsumerConnectionPointCollection.cs
- CodeGenerator.cs
- ReferencedCollectionType.cs
- PriorityQueue.cs
- UpdateCommand.cs
- EventProperty.cs
- ZipIOLocalFileBlock.cs
- PlanCompiler.cs
- SoapWriter.cs
- PrePrepareMethodAttribute.cs
- ExtensionQuery.cs
- GridViewDeleteEventArgs.cs
- SoapEnumAttribute.cs
- SHA256.cs
- MenuItemStyle.cs
- CustomTypeDescriptor.cs
- RegistrationServices.cs
- AutomationIdentifierGuids.cs
- HistoryEventArgs.cs
- XXXInfos.cs
- WindowsTokenRoleProvider.cs
- PanelStyle.cs
- StatusStrip.cs
- ReadWriteSpinLock.cs
- ResourceDisplayNameAttribute.cs
- UIElement.cs
- UnauthorizedAccessException.cs
- RandomNumberGenerator.cs
- ResourcesChangeInfo.cs
- HtmlTable.cs
- precedingquery.cs
- EditorPart.cs
- CodeIdentifier.cs
- SchemaMerger.cs
- PerformanceCounterPermissionAttribute.cs
- FontCacheLogic.cs
- FormsAuthenticationTicket.cs
- TransactionValidationBehavior.cs
- MessageFault.cs
- ParserContext.cs
- GraphicsPath.cs
- PropertyValueUIItem.cs
- DataColumnMapping.cs
- TableCellCollection.cs
- _NegoStream.cs
- ToolboxCategory.cs
- CalendarTable.cs
- ObjectDisposedException.cs
- DataSet.cs
- JulianCalendar.cs
- EntityObject.cs
- FacetDescription.cs
- LocalizedNameDescriptionPair.cs
- EventLogWatcher.cs
- ContentTypeSettingClientMessageFormatter.cs
- XmlSyndicationContent.cs
- LinkUtilities.cs
- Lease.cs
- CodeNamespace.cs
- MessageSecurityVersion.cs
- QilBinary.cs
- SplashScreenNativeMethods.cs
- ProvidersHelper.cs
- CounterSetInstance.cs
- DateTimeOffsetStorage.cs
- ClientTargetCollection.cs
- ADConnectionHelper.cs
- BindingMAnagerBase.cs
- ObjectStateEntryBaseUpdatableDataRecord.cs
- EntitySetRetriever.cs
- ServiceControllerDesigner.cs
- DebuggerService.cs
- AnnotationAuthorChangedEventArgs.cs
- InstanceDataCollection.cs
- SqlStatistics.cs
- DeclarativeCatalogPartDesigner.cs
- LinqDataSourceView.cs
- ClientTargetSection.cs
- CodeGenerator.cs
- Camera.cs
- InputLanguageCollection.cs
- SplineKeyFrames.cs
- CheckedPointers.cs
- Invariant.cs
- XmlQualifiedNameTest.cs
- PublisherIdentityPermission.cs
- CommandDevice.cs
- Char.cs
- PeerInvitationResponse.cs
- RegexWriter.cs
- FolderBrowserDialog.cs
- MimeFormImporter.cs
- ProviderCollection.cs
- TraceHandlerErrorFormatter.cs