Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / Tools / xws_reg / System / ServiceModel / Install / Configuration / BuildProviderInstallComponent.cs / 1 / BuildProviderInstallComponent.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.ServiceModel.Install.Configuration { using System; using System.Collections.Generic; using System.Configuration; using System.Text; using System.Web.Configuration; using System.Xml; internal class BuildProviderInstallComponent : ServiceModelInstallComponent { ConfigurationLoader configLoader; string displayString; BuildProviderInstallComponent(ConfigurationLoader configLoader) { this.configLoader = configLoader; } internal override string DisplayName { get {return this.displayString; } } protected override string InstallActionMessage { get {return SR.GetString(SR.BuildProviderInstall, ServiceModelInstallStrings.BuildProvidersType); } } internal override string[] InstalledVersions { get { ListinstalledVersions = new List (); if (null != configLoader.SystemWebSectionGroup) { foreach (string buildProviderExtension in ServiceModelInstallStrings.BuildProviderExtensionValues) { BuildProvider buildProvider = configLoader.SystemWebSectionGroup.Compilation.BuildProviders[buildProviderExtension]; if (null != buildProvider) { string versionString = InstallHelper.GetVersionStringFromTypeString(buildProvider.Type); if (!String.IsNullOrEmpty(versionString)) { installedVersions.Add(versionString); } } } } return installedVersions.ToArray(); } } internal override bool IsInstalled { get { if (null != configLoader.SystemWebSectionGroup) { foreach (string buildProviderExtension in ServiceModelInstallStrings.BuildProviderExtensionValues) { BuildProvider buildProvider = configLoader.SystemWebSectionGroup.Compilation.BuildProviders[buildProviderExtension]; if (null != buildProvider) { return true; } } } return false; } } protected override string ReinstallActionMessage { get {return SR.GetString(SR.BuildProviderInstall, ServiceModelInstallStrings.BuildProvidersType); } } protected override string UninstallActionMessage { get {return SR.GetString(SR.BuildProviderUninstall, ServiceModelInstallStrings.BuildProvidersType); } } internal static BuildProviderInstallComponent CreateNativeBuildProviderInstallComponent() { BuildProviderInstallComponent buildProvider = new BuildProviderInstallComponent(new NativeConfigurationLoader()); buildProvider.displayString = SR.GetString(SR.BuildProviderName); return buildProvider; } internal static BuildProviderInstallComponent CreateWow64BuildProviderInstallComponent() { if (!InstallHelper.Is64BitMachine() || String.IsNullOrEmpty(InstallHelper.Wow64WebConfigFileName)) { throw new InvalidOperationException(SR.GetString(SR.Wow64NotInstalled)); } BuildProviderInstallComponent buildProvider = new BuildProviderInstallComponent(new Wow64ConfigurationLoader()); buildProvider.displayString = SR.GetString(SR.BuildProviderNameWow64); return buildProvider; } internal override void Install(OutputLevel outputLevel) { if (!this.IsInstalled) { if (null != configLoader.SystemWebSectionGroup) { foreach (string extensionValue in ServiceModelInstallStrings.BuildProviderExtensionValues) { BuildProvider buildProvider = new BuildProvider(extensionValue, ServiceModelInstallStrings.BuildProvidersType); configLoader.SystemWebSectionGroup.Compilation.BuildProviders.Add(buildProvider); configLoader.Save(); } } else { throw new InvalidOperationException(SR.GetString(SR.ConfigurationSectionNotInstalled, configLoader.SystemWebSectionGroupPath, configLoader.RootWebConfigurationFilePath)); } } else { EventLogger.LogWarning(SR.GetString(SR.BuildProviderAlreadyExists, ServiceModelInstallStrings.BuildProvidersType), (OutputLevel.Verbose == outputLevel)); } } internal override void Uninstall(OutputLevel outputLevel) { if (this.IsInstalled) { // Now, remove the other nodes foreach (string extensionValue in ServiceModelInstallStrings.BuildProviderExtensionValues) { configLoader.SystemWebSectionGroup.Compilation.BuildProviders.Remove(extensionValue); configLoader.Save(); } } else { EventLogger.LogWarning(SR.GetString(SR.BuildProviderNotInstalled, ServiceModelInstallStrings.BuildProvidersType), (OutputLevel.Verbose == outputLevel)); } } internal override InstallationState VerifyInstall() { InstallationState installState = InstallationState.Unknown; if (this.IsInstalled) { if (null != configLoader.SystemWebSectionGroup) { foreach (string extensionValue in ServiceModelInstallStrings.BuildProviderExtensionValues) { BuildProvider buildProvider = new BuildProvider(extensionValue, ServiceModelInstallStrings.BuildProvidersType); BuildProvider installedBuildProvider = configLoader.SystemWebSectionGroup.Compilation.BuildProviders[extensionValue]; if (installedBuildProvider.Equals(buildProvider)) { installState = InstallationState.InstalledDefaults; } else { installState = InstallationState.InstalledCustom; break; } } } } 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
- XsltException.cs
- RegexCapture.cs
- DataGridViewRowPrePaintEventArgs.cs
- FamilyTypefaceCollection.cs
- GeneratedContractType.cs
- Util.cs
- FilteredXmlReader.cs
- FileCodeGroup.cs
- SqlNotificationRequest.cs
- FormViewPageEventArgs.cs
- MetadataArtifactLoaderCompositeResource.cs
- FixedSOMElement.cs
- DataGridViewLinkCell.cs
- BindableTemplateBuilder.cs
- IsolatedStorageFile.cs
- IndividualDeviceConfig.cs
- BaseCodePageEncoding.cs
- CancelEventArgs.cs
- FloaterBaseParaClient.cs
- HttpServerVarsCollection.cs
- EmptyStringExpandableObjectConverter.cs
- CodeTypeDeclaration.cs
- CodeTypeOfExpression.cs
- CdpEqualityComparer.cs
- TwoPhaseCommitProxy.cs
- DefaultTextStoreTextComposition.cs
- CatalogZoneDesigner.cs
- TreeNodeCollectionEditor.cs
- BufferedStream.cs
- TracedNativeMethods.cs
- MetadataItemSerializer.cs
- DropTarget.cs
- HttpTransportManager.cs
- DtrList.cs
- WebBrowserNavigatingEventHandler.cs
- CodeExpressionCollection.cs
- SystemDropShadowChrome.cs
- ContainerControl.cs
- EdmPropertyAttribute.cs
- PolicyUtility.cs
- RawStylusInputCustomDataList.cs
- PaperSource.cs
- AncestorChangedEventArgs.cs
- RequestBringIntoViewEventArgs.cs
- NativeMethods.cs
- KoreanLunisolarCalendar.cs
- ImageCodecInfo.cs
- SchemaCollectionPreprocessor.cs
- Semaphore.cs
- DataSourceExpressionCollection.cs
- PerfCounters.cs
- SqlReferenceCollection.cs
- HeaderedContentControl.cs
- ChineseLunisolarCalendar.cs
- CheckBox.cs
- DataGridViewComponentPropertyGridSite.cs
- OpenTypeLayout.cs
- Journal.cs
- WebSysDefaultValueAttribute.cs
- PartitionerStatic.cs
- LastQueryOperator.cs
- translator.cs
- PageRouteHandler.cs
- OpenFileDialog.cs
- SpecialNameAttribute.cs
- _TLSstream.cs
- RenderContext.cs
- StaticResourceExtension.cs
- Scripts.cs
- DecimalStorage.cs
- Light.cs
- InputBinding.cs
- AlphabeticalEnumConverter.cs
- SafeNativeMethodsMilCoreApi.cs
- MultiAsyncResult.cs
- ButtonField.cs
- GestureRecognitionResult.cs
- WebPartCloseVerb.cs
- WebRequestModuleElementCollection.cs
- SchemaSetCompiler.cs
- DefaultTraceListener.cs
- GestureRecognizer.cs
- ReadOnlyDataSourceView.cs
- RefType.cs
- FolderBrowserDialog.cs
- EventSourceCreationData.cs
- ScrollProperties.cs
- BuildManager.cs
- AdornedElementPlaceholder.cs
- XmlWrappingReader.cs
- SingleKeyFrameCollection.cs
- SamlDelegatingWriter.cs
- DataGridViewCellContextMenuStripNeededEventArgs.cs
- LogWriteRestartAreaState.cs
- LogicalTreeHelper.cs
- ControlPropertyNameConverter.cs
- HwndHostAutomationPeer.cs
- HttpCachePolicy.cs
- LoopExpression.cs
- AxWrapperGen.cs