public Uninstall ( string nameSpace, string type, Microsoft extConfig ) : void | ||
nameSpace | string | |
type | string | |
extConfig | Microsoft | |
return | void |
public void ExecuteCommand() { ValidateParameters(); bool removeAll = Role == null || !Role.Any(); ExtensionConfigurationBuilder configBuilder = ExtensionManager.GetBuilder(Deployment != null ? Deployment.ExtensionConfiguration : null); if ((UninstallConfiguration || removeAll) && configBuilder.ExistAny(ProviderNamespace, ExtensionName)) { // Remove extension for all roles configBuilder.RemoveAny(ProviderNamespace, ExtensionName); WriteWarning(string.Format(Resources.ServiceExtensionRemovingFromAllRoles, ExtensionName, ServiceName)); ChangeDeployment(configBuilder.ToConfiguration()); } else if (!removeAll && configBuilder.Exist(Role, ProviderNamespace, ExtensionName)) { // Remove extension for the specified roles bool defaultExists = configBuilder.ExistDefault(ProviderNamespace, ExtensionName); foreach (var r in Role) { var singleRoleAsArray = new string[] { r }; if (configBuilder.Exist(singleRoleAsArray, ProviderNamespace, ExtensionName)) { configBuilder.Remove(singleRoleAsArray, ProviderNamespace, ExtensionName); WriteWarning(string.Format(Resources.ServiceExtensionRemovingFromSpecificRoles, ExtensionName, r, ServiceName)); } else { WriteWarning(string.Format(Resources.ServiceExtensionNoExistingExtensionsEnabledOnRole, ProviderNamespace, ExtensionName, r)); } if (defaultExists) { WriteWarning(string.Format(Resources.ServiceExtensionRemovingSpecificAndApplyingDefault, ExtensionName, r)); } } ChangeDeployment(configBuilder.ToConfiguration()); } else { WriteWarning(string.Format(Resources.ServiceExtensionNoExistingExtensionsEnabledOnRoles, ProviderNamespace, ExtensionName)); } if (UninstallConfiguration) { var allConfig = ExtensionManager.GetBuilder(); var deploymentList = (from slot in (new string[] { DeploymentSlot.Production.ToString(), DeploymentSlot.Staging.ToString() }) let d = GetDeployment(slot) where d != null select d).ToList(); deploymentList.ForEach(d => allConfig.Add(d.ExtensionConfiguration)); ExtensionManager.Uninstall(ProviderNamespace, ExtensionName, allConfig.ToConfiguration()); } }
public void ExecuteCommand() { ValidateParameters(); ExtensionConfigurationBuilder configBuilder = ExtensionManager.GetBuilder(Deployment != null ? Deployment.ExtensionConfiguration : null); if (UninstallConfiguration && configBuilder.ExistAny(ExtensionNameSpace, ExtensionType)) { configBuilder.RemoveAny(ExtensionNameSpace, ExtensionType); WriteVerbose(string.Format(Resources.ServiceExtensionRemovingFromAllRoles, ExtensionType, ServiceName)); ChangeDeployment(configBuilder.ToConfiguration()); } else if (configBuilder.Exist(Role, ExtensionNameSpace, ExtensionType)) { configBuilder.Remove(Role, ExtensionNameSpace, ExtensionType); if (Role == null || !Role.Any()) { WriteVerbose(string.Format(Resources.ServiceExtensionRemovingFromAllRoles, ExtensionType, ServiceName)); } else { bool defaultExists = configBuilder.ExistDefault(ExtensionNameSpace, ExtensionType); foreach (var r in Role) { WriteVerbose(string.Format(Resources.ServiceExtensionRemovingFromSpecificRoles, ExtensionType, r, ServiceName)); if (defaultExists) { WriteVerbose(string.Format(Resources.ServiceExtensionRemovingSpecificAndApplyingDefault, ExtensionType, r)); } } } ChangeDeployment(configBuilder.ToConfiguration()); } else { WriteVerbose(string.Format(Resources.ServiceExtensionNoExistingExtensionsEnabledOnRoles, ExtensionNameSpace, ExtensionType)); } if (UninstallConfiguration) { var allConfig = ExtensionManager.GetBuilder(); var deploymentList = (from slot in (new string[] { DeploymentSlotType.Production, DeploymentSlotType.Staging }) let d = GetDeployment(slot) where d != null select d).ToList(); deploymentList.ForEach(d => allConfig.Add(d.ExtensionConfiguration)); ExtensionManager.Uninstall(ExtensionNameSpace, ExtensionType, allConfig.ToConfiguration()); } }
protected void RemoveExtension() { ExtensionConfigurationBuilder configBuilder = ExtensionManager.GetBuilder(Deployment != null ? Deployment.ExtensionConfiguration : null); if (UninstallConfiguration && configBuilder.ExistAny(ProviderNamespace, ExtensionName)) { configBuilder.RemoveAny(ProviderNamespace, ExtensionName); WriteWarning(string.Format(Resources.ServiceExtensionRemovingFromAllRoles, ExtensionName, ServiceName)); ChangeDeployment(configBuilder.ToConfiguration()); } else if (configBuilder.Exist(Role, ProviderNamespace, ExtensionName)) { configBuilder.Remove(Role, ProviderNamespace, ExtensionName); if (Role == null || !Role.Any()) { WriteWarning(string.Format(Resources.ServiceExtensionRemovingFromAllRoles, ExtensionName, ServiceName)); } else { bool defaultExists = configBuilder.ExistDefault(ProviderNamespace, ExtensionName); foreach (var r in Role) { WriteWarning(string.Format(Resources.ServiceExtensionRemovingFromSpecificRoles, ExtensionName, r, ServiceName)); if (defaultExists) { WriteWarning(string.Format(Resources.ServiceExtensionRemovingSpecificAndApplyingDefault, ExtensionName, r)); } } } ChangeDeployment(configBuilder.ToConfiguration()); } else { WriteWarning(string.Format(Resources.ServiceExtensionNoExistingExtensionsEnabledOnRoles, ProviderNamespace, ExtensionName)); } if (UninstallConfiguration) { var allConfig = ExtensionManager.GetBuilder(); var deploymentList = (from slot in (new string[] { DeploymentSlot.Production.ToString(), DeploymentSlot.Staging.ToString() }) let d = GetDeployment(slot) where d != null select d).ToList(); deploymentList.ForEach(d => allConfig.Add(d.ExtensionConfiguration)); ExtensionManager.Uninstall(ProviderNamespace, ExtensionName, allConfig.ToConfiguration()); } }