public IMethodReturn Invoke(IMethodInvocation input, GetNextHandlerDelegate getNext) { string key = input.GetDescription(); IMethodReturn methodReturn = _cacheManager.Get <IMethodReturn>(_category, key); if (methodReturn == null) { methodReturn = getNext()(input, getNext); _cacheManager.Set(_category, key, methodReturn, _durationInSec); } return(methodReturn); }