diff --git a/framework/src/Volo.Abp.Castle.Core/Volo/Abp/Castle/DynamicProxy/CastleAbpMethodInvocationAdapter.cs b/framework/src/Volo.Abp.Castle.Core/Volo/Abp/Castle/DynamicProxy/CastleAbpMethodInvocationAdapter.cs index 567fc640f8..5fd4270854 100644 --- a/framework/src/Volo.Abp.Castle.Core/Volo/Abp/Castle/DynamicProxy/CastleAbpMethodInvocationAdapter.cs +++ b/framework/src/Volo.Abp.Castle.Core/Volo/Abp/Castle/DynamicProxy/CastleAbpMethodInvocationAdapter.cs @@ -30,17 +30,19 @@ namespace Volo.Abp.Castle.DynamicProxy private object _actualReturnValue; protected IInvocation Invocation { get; } + protected IInvocationProceedInfo ProceedInfo { get; } public CastleAbpMethodInvocationAdapter(IInvocation invocation) { Invocation = invocation; + ProceedInfo = invocation.CaptureProceedInfo(); _lazyArgumentsDictionary = new Lazy>(GetArgumentsDictionary); } public void Proceed() { - Invocation.Proceed(); + ProceedInfo.Invoke(); if (Invocation.Method.IsAsync()) { @@ -50,7 +52,7 @@ namespace Volo.Abp.Castle.DynamicProxy public Task ProceedAsync() { - Invocation.Proceed(); + ProceedInfo.Invoke(); _actualReturnValue = Invocation.ReturnValue; return Invocation.Method.IsAsync() ? (Task)_actualReturnValue