public override ICallHandler CreateHandler(IUnityContainer container) { var expiration = new TimeSpan(Hours, Minutes, Seconds); var absoluteExpiration = new TimeSpan(AbsoluteHours, AbsoluteMinutes, AbsoluteSeconds); var maximumStaleness = new TimeSpan(MaximumStalenessHours, MaximumStalenessMinutes, MaximumStalenessSeconds); //default to 5 minutes if necessary expiration = expiration.TotalSeconds > 0 ? expiration : new TimeSpan(0, 5, 0); //default to twice expiration maximumStaleness = maximumStaleness.TotalSeconds > 0 ? maximumStaleness : expiration.Add(expiration); var handler = new CacheAttributeCallHandler(container, CacheName) { Order = Order, Expiration = expiration, AbsoluteExpiration = absoluteExpiration.TotalSeconds > 0 ? absoluteExpiration : (TimeSpan?)null, MaximumStaleness = maximumStaleness, RescheduleStale = RescheduleStale }; return(handler); }
public override ICallHandler CreateHandler(IUnityContainer container) { var expiration = new TimeSpan(Hours, Minutes, Seconds); var absoluteExpiration = new TimeSpan(AbsoluteHours, AbsoluteMinutes, AbsoluteSeconds); var maximumStaleness = new TimeSpan(MaximumStalenessHours, MaximumStalenessMinutes, MaximumStalenessSeconds); //default to 5 minutes if necessary expiration = expiration.TotalSeconds > 0 ? expiration : new TimeSpan(0, 5, 0); //default to twice expiration maximumStaleness = maximumStaleness.TotalSeconds > 0 ? maximumStaleness : expiration.Add(expiration); var handler = new CacheAttributeCallHandler(container, CacheName) { Order = Order, Expiration = expiration, AbsoluteExpiration = absoluteExpiration.TotalSeconds > 0 ? absoluteExpiration : (TimeSpan?)null, MaximumStaleness = maximumStaleness, RescheduleStale = RescheduleStale }; return handler; }