Exemplo n.º 1
0
 public static Dependencies.CacheDependency GetCacheDependency(ExpirationHint hint, out DateTime absoluteExpiration, out TimeSpan slidingExpiration)
 {
     Dependencies.CacheDependency cacheDependency = null;
     absoluteExpiration = DateTime.MaxValue;
     slidingExpiration  = TimeSpan.Zero;
     if (hint != null)
     {
         if (hint is AggregateExpirationHint)
         {
             AggregateExpirationHint hint2 = (AggregateExpirationHint)hint;
             if ((hint2.Hints != null) && (hint2.Hints.Length > 0))
             {
                 foreach (ExpirationHint hint3 in hint2.Hints)
                 {
                     AddToDependency(ref cacheDependency, GetCacheDependency(hint3, out absoluteExpiration, out slidingExpiration));
                 }
             }
             return(cacheDependency);
         }
         if (hint is FixedExpiration)
         {
             absoluteExpiration = ((FixedExpiration)hint).AbsoluteTime;
             return(cacheDependency);
         }
         if (hint is IdleExpiration)
         {
             slidingExpiration = ((IdleExpiration)hint).SlidingTime;
             return(cacheDependency);
         }
         if (hint is KeyDependency)
         {
             var dependency2 = (KeyDependency)hint;
             AddToDependency(ref cacheDependency, new Dependencies.KeyDependency(dependency2.CacheKeys, new DateTime(dependency2.StartAfterTicks)));
             return(cacheDependency);
         }
         if (hint is FileDependency)
         {
             FileDependency dependency3 = (FileDependency)hint;
             AddToDependency(ref cacheDependency, new Dependencies.FileDependency(dependency3.FileNames, new DateTime(dependency3.StartAfterTicks)));
             return(cacheDependency);
         }
         return(cacheDependency);
     }
     return(cacheDependency);
 }
Exemplo n.º 2
0
        public static ExpirationHint ReadExpHint(CompactReader reader)
        {
            ExpirationHintType parent = ExpirationHintType.Parent;

            parent = (ExpirationHintType)reader.ReadInt16();
            switch (parent)
            {
            case ExpirationHintType.NULL:
                return(null);

            case ExpirationHintType.Parent:
                return((ExpirationHint)reader.ReadObject());

            case ExpirationHintType.FixedExpiration:
            {
                FixedExpiration expiration = new FixedExpiration();
                expiration.Deserialize(reader);
                return(expiration);
            }

            case ExpirationHintType.FixedIdleExpiration:
            {
                FixedIdleExpiration expiration4 = new FixedIdleExpiration();
                expiration4.Deserialize(reader);
                return(expiration4);
            }

            case ExpirationHintType.FileDependency:
            {
                FileDependency dependency = new FileDependency();
                dependency.Deserialize(reader);
                return(dependency);
            }

            case ExpirationHintType.KeyDependency:
            {
                KeyDependency dependency2 = new KeyDependency();
                dependency2.Deserialize(reader);
                return(dependency2);
            }

            case ExpirationHintType.IdleExpiration:
            {
                IdleExpiration expiration5 = new IdleExpiration();
                expiration5.Deserialize(reader);
                return(expiration5);
            }

            case ExpirationHintType.AggregateExpirationHint:
            {
                AggregateExpirationHint hint2 = new AggregateExpirationHint();
                hint2.Deserialize(reader);
                return(hint2);
            }

            case ExpirationHintType.ExtensibleDependency:
            {
                ExtensibleDependency dependency8 = new ExtensibleDependency();
                return((ExtensibleDependency)reader.ReadObject());
            }
            }
            return(null);
        }