public static ExpirationHint GetExpirationHint(Dependencies.CacheDependency dependency, DateTime absoluteExpiration, TimeSpan slidingExpiration) { ExpirationHint expirationHint = GetExpirationHint(absoluteExpiration, slidingExpiration); if (expirationHint == null) { return(GetExpirationHint(dependency)); } ExpirationHint eh = GetExpirationHint(dependency); if (eh == null) { return(expirationHint); } AggregateExpirationHint hint3 = null; if (eh is AggregateExpirationHint) { hint3 = eh as AggregateExpirationHint; hint3.Add(expirationHint); return(hint3); } hint3 = new AggregateExpirationHint(); hint3.Add(expirationHint); hint3.Add(eh); return(hint3); }
private static ExpirationHint GetExpirationHint(Dependencies.CacheDependency cacheDependency, AggregateExpirationHint aggregateHint) { if (cacheDependency == null) { return(null); } ExpirationHint expirationHint = null; if (cacheDependency is Dependencies.KeyDependency) { var dependency = cacheDependency as Dependencies.KeyDependency; expirationHint = new KeyDependency(dependency.CacheKeys, new DateTime(dependency.StartAfterTicks)); aggregateHint.Add(expirationHint); } else if (cacheDependency is Dependencies.FileDependency) { var dependency2 = cacheDependency as Dependencies.FileDependency; expirationHint = new FileDependency(dependency2.fileNames, new DateTime(dependency2.StartAfterTicks)); aggregateHint.Add(expirationHint); } if (aggregateHint.Hints.Length == 0) { return(null); } if (aggregateHint.Hints.Length == 1) { return(aggregateHint.Hints[0]); } return(aggregateHint); }