private IThrottlingPolicy GetParentThrottlingPolicyFromAD(ThrottlingPolicy policy) { IThrottlingPolicy result; switch (this.ThrottlingPolicy.ThrottlingPolicyScope) { case ThrottlingPolicyScopeType.Regular: { ThrottlingPolicy throttlingPolicy = EffectiveThrottlingPolicy.ReadOrganizationThrottlingPolicyFromAD(policy.OrganizationId); if (throttlingPolicy == null) { throttlingPolicy = EffectiveThrottlingPolicy.ReadGlobalThrottlingPolicyFromAD(); } result = throttlingPolicy.GetEffectiveThrottlingPolicy(false); break; } case ThrottlingPolicyScopeType.Organization: result = EffectiveThrottlingPolicy.ReadGlobalThrottlingPolicyFromAD().GetEffectiveThrottlingPolicy(false); break; case ThrottlingPolicyScopeType.Global: result = FallbackThrottlingPolicy.GetSingleton(); break; default: throw new NotSupportedException(string.Format("Unsupported enum value {0}.", this.ThrottlingPolicy.ThrottlingPolicyScope)); } return(result); }
private void ResetGlobalThrottlingPolicySettings() { this.rootOrgSession.SessionSettings.IsSharedConfigChecked = true; ThrottlingPolicy globalThrottlingPolicy = this.rootOrgSession.GetGlobalThrottlingPolicy(); if (globalThrottlingPolicy == null) { base.WriteError(new ManagementObjectNotFoundException(Strings.ErrorGlobalThrottlingPolicyNotFound), ErrorCategory.InvalidResult, null); } globalThrottlingPolicy.CloneThrottlingSettingsFrom(FallbackThrottlingPolicy.GetSingleton()); this.SaveObject(globalThrottlingPolicy); }
private void InstallGlobalThrottlingPolicy() { string text = "GlobalThrottlingPolicy_" + Guid.NewGuid().ToString("D"); base.WriteVerbose(Strings.InstallingGlobalThrottlingPolicy(text)); ThrottlingPolicy throttlingPolicy = new ThrottlingPolicy(); throttlingPolicy.CloneThrottlingSettingsFrom(FallbackThrottlingPolicy.GetSingleton()); throttlingPolicy.ThrottlingPolicyScope = ThrottlingPolicyScopeType.Global; throttlingPolicy.SetId(this.configurationSession, new ADObjectId("CN=Global Settings"), text); if (base.CurrentOrganizationId != null) { throttlingPolicy.OrganizationId = base.CurrentOrganizationId; } else { throttlingPolicy.OrganizationId = base.ExecutingUserOrganizationId; } this.SaveObject(throttlingPolicy); }
private IThrottlingPolicy GetParentThrottlingPolicyFromCache(ThrottlingPolicy policy) { IThrottlingPolicy result; switch (policy.ThrottlingPolicyScope) { case ThrottlingPolicyScopeType.Regular: result = ThrottlingPolicyCache.Singleton.Get(this.ThrottlingPolicy.OrganizationId); break; case ThrottlingPolicyScopeType.Organization: result = ThrottlingPolicyCache.Singleton.GetGlobalThrottlingPolicy(); break; case ThrottlingPolicyScopeType.Global: result = FallbackThrottlingPolicy.GetSingleton(); break; default: throw new NotSupportedException(string.Format("Unsupported enum value {0}.", this.ThrottlingPolicy.ThrottlingPolicyScope)); } return(result); }