public object AroundCall(InterceptedMethod method)
        {
            object result = null;

            Stopwatch stopwatch = this.stopwatchPool.Rent();

            try
            {
                stopwatch.Start();
                result = method.Invoke();

                string methodPath = method.Method.DeclaringType.ToString() + "." + method.Method.Name;
                this.methodTimeLogger.Log(methodPath, stopwatch.ElapsedMilliseconds);
                stopwatch.Reset();
            }
            finally
            {
                this.stopwatchPool.GiveBack(stopwatch);
            }

            return(result);
        }
예제 #2
0
 public void PostProcess(InterceptedMethod method, object returnVal)
 {
 }
예제 #3
0
 public object AroundCall(InterceptedMethod method)
 {
     return(method.Invoke());
 }
예제 #4
0
 public void PreProcess(InterceptedMethod method)
 {
 }