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
- InfoCardBinaryReader.cs
- InternalResources.cs
- DirtyTextRange.cs
- AssemblySettingAttributes.cs
- BinaryVersion.cs
- MultiTrigger.cs
- PermissionSet.cs
- TagNameToTypeMapper.cs
- PeerNameRecord.cs
- TransformValueSerializer.cs
- ListenerSessionConnection.cs
- PersistenceContextEnlistment.cs
- DbSource.cs
- ExpressionBuilderCollection.cs
- XamlSerializerUtil.cs
- LassoSelectionBehavior.cs
- ObjectFullSpanRewriter.cs
- TextTreeInsertUndoUnit.cs
- DefaultParameterValueAttribute.cs
- Model3D.cs
- TextEndOfLine.cs
- DelegatingConfigHost.cs
- LookupBindingPropertiesAttribute.cs
- SqlMethodAttribute.cs
- SingleConverter.cs
- ReadOnlyObservableCollection.cs
- Bits.cs
- BinaryMessageFormatter.cs
- SignedXml.cs
- Overlapped.cs
- TdsParserStaticMethods.cs
- FixedLineResult.cs
- HostingEnvironment.cs
- HttpResponseHeader.cs
- ValidationEventArgs.cs
- Marshal.cs
- HttpProxyTransportBindingElement.cs
- AesManaged.cs
- InfoCardServiceInstallComponent.cs
- SqlBulkCopy.cs
- HttpWriter.cs
- CharEntityEncoderFallback.cs
- RegexNode.cs
- ImportContext.cs
- WebDisplayNameAttribute.cs
- TraceEventCache.cs
- ToolStripAdornerWindowService.cs
- DateTimeFormat.cs
- DataGridPagerStyle.cs
- PreloadedPackages.cs
- TextEditorParagraphs.cs
- EntityCommandCompilationException.cs
- ToolStripContainer.cs
- StringSource.cs
- ColumnResizeUndoUnit.cs
- EventListenerClientSide.cs
- OutOfProcStateClientManager.cs
- RequestResizeEvent.cs
- XsltCompileContext.cs
- FixedDocumentSequencePaginator.cs
- MimeParameters.cs
- PropertyPathConverter.cs
- TemplateInstanceAttribute.cs
- DateTimeFormatInfoScanner.cs
- Error.cs
- XmlHierarchicalEnumerable.cs
- EncodingInfo.cs
- SecurityTokenRequirement.cs
- BooleanExpr.cs
- PerfCounters.cs
- RequestCachePolicyConverter.cs
- PageHandlerFactory.cs
- ZipIOLocalFileBlock.cs
- OdbcHandle.cs
- FormsIdentity.cs
- UnsafeNativeMethods.cs
- WebRequestModuleElement.cs
- RIPEMD160.cs
- WindowsPen.cs
- Logging.cs
- SafeNativeMethods.cs
- ResourceDictionaryCollection.cs
- DeflateStream.cs
- ConnectionStringsExpressionEditor.cs
- SizeConverter.cs
- SchemaCollectionPreprocessor.cs
- _SSPISessionCache.cs
- Convert.cs
- FixedSOMLineCollection.cs
- BindingGroup.cs
- DesignTimeVisibleAttribute.cs
- SQLBinaryStorage.cs
- Predicate.cs
- BamlResourceDeserializer.cs
- SerialPort.cs
- TableLayoutRowStyleCollection.cs
- HitTestWithPointDrawingContextWalker.cs
- CqlBlock.cs
- InstanceData.cs
- RepeaterDesigner.cs