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
- LogAppendAsyncResult.cs
- PlainXmlWriter.cs
- LifetimeMonitor.cs
- SchemaElement.cs
- NamedPipeActivation.cs
- ServiceBusyException.cs
- RowBinding.cs
- ManifestSignedXml.cs
- CompileLiteralTextParser.cs
- SqlConnectionPoolProviderInfo.cs
- HiddenField.cs
- ViewGenResults.cs
- LoopExpression.cs
- ArrayWithOffset.cs
- FloaterBaseParagraph.cs
- LeaseManager.cs
- Action.cs
- Delegate.cs
- MappableObjectManager.cs
- RightNameExpirationInfoPair.cs
- RTTypeWrapper.cs
- _Semaphore.cs
- QuadraticBezierSegment.cs
- AuthorizationBehavior.cs
- TextServicesCompartment.cs
- DropDownButton.cs
- GradientBrush.cs
- StatusBarPanel.cs
- SafeFindHandle.cs
- SystemColors.cs
- HotSpot.cs
- Axis.cs
- DesignerOptionService.cs
- PrintController.cs
- RemotingConfiguration.cs
- SelectionChangedEventArgs.cs
- SessionIDManager.cs
- WpfWebRequestHelper.cs
- MessageSecurityVersionConverter.cs
- Viewport2DVisual3D.cs
- Group.cs
- MissingSatelliteAssemblyException.cs
- OnOperation.cs
- BitArray.cs
- PropertyExpression.cs
- ListItemDetailViewAttribute.cs
- ClonableStack.cs
- ThreadInterruptedException.cs
- PropertyBuilder.cs
- ObjectCloneHelper.cs
- Compiler.cs
- RegexCompilationInfo.cs
- BitmapSourceSafeMILHandle.cs
- RegexMatch.cs
- AssociatedControlConverter.cs
- ISessionStateStore.cs
- DetailsViewUpdatedEventArgs.cs
- NumberAction.cs
- SmiContext.cs
- FormClosedEvent.cs
- ImageClickEventArgs.cs
- ScrollableControl.cs
- TrackingServices.cs
- AttributeConverter.cs
- NativeMethods.cs
- XmlQueryContext.cs
- DispatcherBuilder.cs
- Preprocessor.cs
- EventItfInfo.cs
- ObjectDataSource.cs
- XmlElement.cs
- CharEnumerator.cs
- WsdlBuildProvider.cs
- ContainerActivationHelper.cs
- BrushConverter.cs
- CollectionBuilder.cs
- DescendentsWalkerBase.cs
- HtmlLink.cs
- EnumMember.cs
- EventLogPermission.cs
- HierarchicalDataBoundControlAdapter.cs
- QueryHandler.cs
- linebase.cs
- LinearQuaternionKeyFrame.cs
- EntityAdapter.cs
- DataGridViewComboBoxColumn.cs
- Composition.cs
- DbConnectionPoolCounters.cs
- OwnerDrawPropertyBag.cs
- OleDbTransaction.cs
- VisualStyleTypesAndProperties.cs
- DispatcherHookEventArgs.cs
- SubqueryRules.cs
- XmlToDatasetMap.cs
- ToolBarOverflowPanel.cs
- TextRangeEditLists.cs
- WorkflowInvoker.cs
- Int32CollectionValueSerializer.cs
- RegexGroup.cs
- WebDescriptionAttribute.cs