public CacheManagerDataBase GetCacheManagerData(string cacheManagerName) { CacheManagerSettings configSettings = this.CacheManagerSettings; CacheManagerDataBase data = configSettings.CacheManagers.Get(cacheManagerName); if (data == null) { throw new ConfigurationErrorsException(string.Format(Resources.Culture, Resources.UnableToFindCacheManagerInstance, cacheManagerName)); } return(data); }
bool OverrideWithGroupPoliciesAndGenerateWmiObjectsForCacheManager(CacheManagerDataBase cacheManagerDataBase, bool readGroupPolicies, IRegistryKey machineKey, IRegistryKey userKey, bool generateWmiObjects, ICollection <ConfigurationSetting> wmiSettings) { if (readGroupPolicies) { IRegistryKey policyKey = machineKey != null ? machineKey : userKey; if (policyKey != null) { if (policyKey.IsPolicyKey && !policyKey.GetBoolValue(PolicyValueName).Value) { return(false); } try { if (cacheManagerDataBase is CacheManagerData) { CacheManagerData cacheManagerData = (CacheManagerData)cacheManagerDataBase; // cache storage is not overrideable int?expirationPollFrequencyInSecondsOverride = policyKey.GetIntValue(CacheManagerExpirationPollFrequencyInSecondsPropertyName); int?maximumElementsInCacheBeforeScavengingOverride = policyKey.GetIntValue(CacheManagerMaximumElementsInCacheBeforeScavengingPropertyName); int?numberToRemoveWhenScavengingOverride = policyKey.GetIntValue(CacheManagerNumberToRemoveWhenScavengingPropertyName); cacheManagerData.ExpirationPollFrequencyInSeconds = expirationPollFrequencyInSecondsOverride.Value; cacheManagerData.MaximumElementsInCacheBeforeScavenging = maximumElementsInCacheBeforeScavengingOverride.Value; cacheManagerData.NumberToRemoveWhenScavenging = numberToRemoveWhenScavengingOverride.Value; } } catch (RegistryAccessException ex) { LogExceptionWhileOverriding(ex); } } } if (generateWmiObjects) { CacheManagerSettingsWmiMapper.GenerateCacheManagerWmiObjects(cacheManagerDataBase, wmiSettings); } return(true); }
public static void GenerateCacheManagerWmiObjects(CacheManagerDataBase data, ICollection <ConfigurationSetting> wmiSettings) { if (data is CacheManagerData) { CacheManagerData cacheManagerData = (CacheManagerData)data; wmiSettings.Add( new CacheManagerSetting(data.Name, cacheManagerData.CacheStorage, cacheManagerData.ExpirationPollFrequencyInSeconds, cacheManagerData.MaximumElementsInCacheBeforeScavenging, cacheManagerData.NumberToRemoveWhenScavenging)); } else { wmiSettings.Add(new UnknownCacheManagerSetting(data.Name)); } }