Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / Tools / xws_reg / System / ServiceModel / Install / Configuration / HttpModulesInstallComponent.cs / 1 / HttpModulesInstallComponent.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.ServiceModel.Install.Configuration { using System; using System.Collections.Generic; using System.Configuration; using System.Globalization; using System.Text; using System.Web.Configuration; internal class HttpModulesInstallComponent : ServiceModelInstallComponent { ConfigurationLoader configLoader; string displayString; string httpModuleType; protected HttpModulesInstallComponent(ConfigurationLoader configLoader) { httpModuleType = ServiceModelInstallStrings.HttpModulesType; this.configLoader = configLoader; } internal override string DisplayName { get {return this.displayString; } } protected override string InstallActionMessage { get {return SR.GetString(SR.HttpModulesComponentInstall, ServiceModelInstallStrings.ServiceModel); } } internal override string[] InstalledVersions { get { ListinstalledVersions = new List (); if (null != configLoader.SystemWebSectionGroup) { // Foreach needed here since HttpModuleActionCollection does not have an accessor that takes a string (at least not in Whidbey) foreach (HttpModuleAction module in configLoader.SystemWebSectionGroup.HttpModules.Modules) { if (module.Name.Equals(ServiceModelInstallStrings.ServiceModel, StringComparison.Ordinal)) { string versionString = module.Name + " : " + InstallHelper.GetVersionStringFromTypeString(module.Type); if (!String.IsNullOrEmpty(versionString)) { installedVersions.Add(versionString); } } } } return installedVersions.ToArray(); } } internal override bool IsInstalled { get { if (null != configLoader.SystemWebSectionGroup) { // Foreach needed here since HttpModuleActionCollection does not have an accessor that takes a string (at least not in Whidbey) foreach (HttpModuleAction installedModule in configLoader.SystemWebSectionGroup.HttpModules.Modules) { if (installedModule.Name.Equals(ServiceModelInstallStrings.ServiceModel, StringComparison.Ordinal)) { return true; } } } return false; } } protected override string ReinstallActionMessage { get {return SR.GetString(SR.HttpModulesComponentReinstall, ServiceModelInstallStrings.ServiceModel); } } protected override string UninstallActionMessage { get {return SR.GetString(SR.HttpModulesComponentUninstall, ServiceModelInstallStrings.ServiceModel); } } internal static HttpModulesInstallComponent CreateNativeHttpModulesInstallComponent() { HttpModulesInstallComponent httpModulesComponent = new HttpModulesInstallComponent(new NativeConfigurationLoader()); httpModulesComponent.displayString = SR.GetString(SR.HttpModulesComponentName); return httpModulesComponent; } internal static HttpModulesInstallComponent CreateWow64HttpModulesInstallComponent() { if (!InstallHelper.Is64BitMachine() || String.IsNullOrEmpty(InstallHelper.Wow64WebConfigFileName)) { throw new ConfigurationLoaderException(SR.GetString(SR.Wow64NotInstalled)); } HttpModulesInstallComponent httpModulesComponent = new HttpModulesInstallComponent(new Wow64ConfigurationLoader()); httpModulesComponent.displayString = SR.GetString(SR.HttpModulesComponentNameWow64); return httpModulesComponent; } internal override void Install(OutputLevel outputLevel) { if (!this.IsInstalled) { if (null != configLoader.SystemWebSectionGroup) { HttpModuleAction module = new HttpModuleAction(ServiceModelInstallStrings.ServiceModel, this.httpModuleType); configLoader.SystemWebSectionGroup.HttpModules.Modules.Add(module); configLoader.Save(); } else { throw new InvalidOperationException(SR.GetString(SR.ConfigurationSectionNotInstalled, configLoader.SystemWebSectionGroupPath, configLoader.RootWebConfigurationFilePath)); } } else { EventLogger.LogWarning(SR.GetString(SR.HttpModulesComponentAlreadyExists, ServiceModelInstallStrings.ServiceModel), (OutputLevel.Verbose == outputLevel)); } } internal override void Uninstall(OutputLevel outputLevel) { if (this.IsInstalled) { // Remove the httpModules node configLoader.SystemWebSectionGroup.HttpModules.Modules.Remove(ServiceModelInstallStrings.ServiceModel); configLoader.Save(); } else { EventLogger.LogWarning(SR.GetString(SR.HttpModulesComponentNotInstalled, ServiceModelInstallStrings.ServiceModel), (OutputLevel.Verbose == outputLevel)); } } internal override InstallationState VerifyInstall() { InstallationState installState = InstallationState.Unknown; if (this.IsInstalled) { if (null != configLoader.SystemWebSectionGroup) { HttpModuleAction module = new HttpModuleAction(ServiceModelInstallStrings.ServiceModel, this.httpModuleType); // Foreach needed here since HttpModuleActionCollection does not have an accessor that takes a string (at least not in Whidbey) foreach (HttpModuleAction installedModule in configLoader.SystemWebSectionGroup.HttpModules.Modules) { if (module.Name.Equals(installedModule.Name, StringComparison.Ordinal)) { if (installedModule.Equals(module)) { installState = InstallationState.InstalledDefaults; } else { installState = InstallationState.InstalledCustom; } } } } } else { installState = InstallationState.NotInstalled; } return installState; } } } // 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
- TemplateXamlTreeBuilder.cs
- DataControlCommands.cs
- WorkflowViewManager.cs
- EventDescriptor.cs
- ParameterToken.cs
- SchemaObjectWriter.cs
- ObjectSecurityT.cs
- TextEditorSpelling.cs
- QilLoop.cs
- ReadOnlyDataSourceView.cs
- DbUpdateCommandTree.cs
- DocumentPageView.cs
- SafeHandles.cs
- PassportAuthentication.cs
- ImageFormatConverter.cs
- ListViewGroupConverter.cs
- HitTestParameters3D.cs
- Stroke2.cs
- PreviewKeyDownEventArgs.cs
- SQLBytesStorage.cs
- KeyValueInternalCollection.cs
- TypedDataSetSchemaImporterExtensionFx35.cs
- XmlDocumentFieldSchema.cs
- Grid.cs
- ToolStripTemplateNode.cs
- StringWriter.cs
- CultureSpecificCharacterBufferRange.cs
- Pair.cs
- BlurEffect.cs
- BrowserCapabilitiesCodeGenerator.cs
- BitmapEffectGroup.cs
- DesignTimeResourceProviderFactoryAttribute.cs
- MessageBox.cs
- ReadOnlyTernaryTree.cs
- CommandField.cs
- TimeSpanParse.cs
- IncrementalReadDecoders.cs
- PermissionListSet.cs
- CopyNodeSetAction.cs
- WebContext.cs
- EmissiveMaterial.cs
- JsonUriDataContract.cs
- UserControlFileEditor.cs
- While.cs
- HttpCacheVary.cs
- StringCollection.cs
- XmlSerializationReader.cs
- DateTimeConstantAttribute.cs
- ColorMap.cs
- SubMenuStyleCollection.cs
- BitmapEffectDrawing.cs
- CodeExpressionStatement.cs
- OleDbStruct.cs
- DataGridViewCellStateChangedEventArgs.cs
- WasAdminWrapper.cs
- SQLBinaryStorage.cs
- HtmlTableCellCollection.cs
- FixedSOMTableCell.cs
- StoreAnnotationsMap.cs
- BitmapEffectInput.cs
- SynchronousChannelMergeEnumerator.cs
- WsatServiceCertificate.cs
- RepeaterCommandEventArgs.cs
- ItemsControl.cs
- WrapPanel.cs
- remotingproxy.cs
- ObjectViewEntityCollectionData.cs
- XmlNodeList.cs
- CheckBox.cs
- PeerCollaborationPermission.cs
- TypedReference.cs
- Sql8ConformanceChecker.cs
- ForEach.cs
- ClassHandlersStore.cs
- XmlC14NWriter.cs
- FileUtil.cs
- EntityProviderServices.cs
- AuthenticationSection.cs
- WizardStepBase.cs
- SQLGuid.cs
- sqlmetadatafactory.cs
- VirtualDirectoryMappingCollection.cs
- PartitionerQueryOperator.cs
- RotationValidation.cs
- XPathScanner.cs
- SqlUtil.cs
- GeneralTransformGroup.cs
- UserInitiatedNavigationPermission.cs
- TextTreeUndoUnit.cs
- WebBrowser.cs
- CryptoHandle.cs
- ContainerUIElement3D.cs
- MissingSatelliteAssemblyException.cs
- BrowserCapabilitiesFactory.cs
- unsafeIndexingFilterStream.cs
- WebBrowserNavigatingEventHandler.cs
- ReadOnlyDictionary.cs
- DbSourceParameterCollection.cs
- PropertyValueChangedEvent.cs
- SQLInt64.cs