public override int GetHashCode() { unchecked { int hashCode = Enabled.GetHashCode(); hashCode = (hashCode * 397) ^ ResponseKindsToCache.GetHashCode(); hashCode = (hashCode * 397) ^ ResponseKindsToIgnore.GetHashCode(); hashCode = (hashCode * 397) ^ RefreshMode.GetHashCode(); hashCode = (hashCode * 397) ^ RefreshTime.GetHashCode(); hashCode = (hashCode * 397) ^ ExpirationTime.GetHashCode(); hashCode = (hashCode * 397) ^ FailedRefreshDelay.GetHashCode(); hashCode = (hashCode * 397) ^ RequestGroupingBehavior.GetHashCode(); hashCode = (hashCode * 397) ^ RefreshBehavior.GetHashCode(); hashCode = (hashCode * 397) ^ RevokedResponseBehavior.GetHashCode(); hashCode = (hashCode * 397) ^ ExpirationBehavior.GetHashCode(); hashCode = (hashCode * 397) ^ CacheResponsesWhenSupressedBehavior.GetHashCode(); hashCode = (hashCode * 397) ^ NotIgnoredResponseBehavior.GetHashCode(); return(hashCode); } }
private IMethodCachingSettings GetCachingSettings(double ttlSeconds = 60 * 60 * 6, double refreshTimeSeconds = 60, RevokedResponseBehavior revokedResponseBehavior = RevokedResponseBehavior.FetchNewValueNextTime, ResponseKinds responseKindsToCache = ResponseKinds.NonNullResponse | ResponseKinds.NullResponse, ResponseKinds responseKindsToIgnore = ResponseKinds.EnvironmentException | ResponseKinds.OtherExceptions | ResponseKinds.RequestException | ResponseKinds.TimeoutException, RefreshBehavior refreshBehavior = RefreshBehavior.UseOldAndFetchNewValueInBackground) => new MethodCachingPolicyConfig { ExpirationTime = TimeSpan.FromSeconds(ttlSeconds), RefreshTime = TimeSpan.FromSeconds(refreshTimeSeconds), FailedRefreshDelay = TimeSpan.FromSeconds(1), Enabled = true, ResponseKindsToCache = responseKindsToCache, ResponseKindsToIgnore = responseKindsToIgnore, RequestGroupingBehavior = RequestGroupingBehavior.Enabled, RefreshBehavior = refreshBehavior, RevokedResponseBehavior = revokedResponseBehavior, CacheResponsesWhenSupressedBehavior = CacheResponsesWhenSupressedBehavior.Enabled, RefreshMode = RefreshMode.UseRefreshes, ExpirationBehavior = ExpirationBehavior.DoNotExtendExpirationWhenReadFromCache, NotIgnoredResponseBehavior = NotIgnoredResponseBehavior.KeepCachedResponse };