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
- DataGridBoolColumn.cs
- IPAddressCollection.cs
- QueryOutputWriter.cs
- CompModSwitches.cs
- QuestionEventArgs.cs
- EventLogQuery.cs
- PtsHost.cs
- ResourcePool.cs
- ping.cs
- SizeAnimationBase.cs
- Menu.cs
- RequestQueue.cs
- XmlBinaryReader.cs
- SimpleWorkerRequest.cs
- NullableIntSumAggregationOperator.cs
- WorkflowApplicationException.cs
- PointAnimationUsingKeyFrames.cs
- PanningMessageFilter.cs
- TagMapCollection.cs
- RectConverter.cs
- GroupBox.cs
- BinaryReader.cs
- InstanceOwnerException.cs
- CredentialCache.cs
- SafeProcessHandle.cs
- XmlNamespaceManager.cs
- TemplatedMailWebEventProvider.cs
- ColumnClickEvent.cs
- UInt16Converter.cs
- ReverseQueryOperator.cs
- OutputScopeManager.cs
- VariantWrapper.cs
- BulletedList.cs
- MetafileHeader.cs
- GridViewEditEventArgs.cs
- HttpWebRequestElement.cs
- TextParagraphView.cs
- SqlXml.cs
- BaseTypeViewSchema.cs
- DocumentAutomationPeer.cs
- WindowsFont.cs
- RepeaterDataBoundAdapter.cs
- UrlMappingCollection.cs
- OracleMonthSpan.cs
- EventPropertyMap.cs
- ListSortDescription.cs
- DefaultValidator.cs
- recordstatescratchpad.cs
- Console.cs
- TaskCanceledException.cs
- TextViewElement.cs
- MarkupWriter.cs
- EdmEntityTypeAttribute.cs
- DeferredElementTreeState.cs
- Int32CAMarshaler.cs
- CryptoApi.cs
- EventTrigger.cs
- FocusChangedEventArgs.cs
- DateTime.cs
- UnmanagedHandle.cs
- QuotedStringFormatReader.cs
- CodeGroup.cs
- Bold.cs
- StylusButtonCollection.cs
- StateMachineTimers.cs
- BaseProcessProtocolHandler.cs
- TextDocumentView.cs
- WebRequestModuleElementCollection.cs
- _Rfc2616CacheValidators.cs
- FastEncoder.cs
- ToolBarButtonClickEvent.cs
- IntSecurity.cs
- TypeInfo.cs
- UnmanagedBitmapWrapper.cs
- WasEndpointConfigContainer.cs
- FormsAuthentication.cs
- BaseTemplateCodeDomTreeGenerator.cs
- ListArgumentProvider.cs
- PageMediaType.cs
- InstalledVoice.cs
- DataBindingList.cs
- Pair.cs
- CodeGen.cs
- FileUtil.cs
- FlowLayout.cs
- WindowsEditBox.cs
- COM2ExtendedBrowsingHandler.cs
- RequestBringIntoViewEventArgs.cs
- ComplusTypeValidator.cs
- UniqueConstraint.cs
- TypeResolvingOptions.cs
- XmlSchemaObjectTable.cs
- FontWeight.cs
- PageResolution.cs
- WindowsSpinner.cs
- MediaContextNotificationWindow.cs
- EditorResources.cs
- ListItemParagraph.cs
- XamlPoint3DCollectionSerializer.cs
- DatagridviewDisplayedBandsData.cs