public override void OnInvoke(MethodInterceptionArgs args) { var methodName = string.Format("{0},{1},{2}", args.Method.ReflectedType.Namespace, args.Method.ReflectedType.Name, args.Method.Name); //methodname oluşturma :methodnamespca,method class, method name var arguments = args.Arguments.ToList(); //method parametrelerine ulaşma var key = string.Format("{0}({1})", methodName, string.Join(",", arguments.Select(x => x != null?x.ToString():"<Null>"))); //cashe key oluşturma if (_casheManager.IsAdd(key)) //method cashede varmı ? { args.ReturnValue = _casheManager.Get <object>(key); //varsa devam etme git cashemanagerdan cashi getir key'e göre } base.OnInvoke(args); _casheManager.Add(key, args.ReturnValue, _casheMinute);//cashde yoksa ekle }