Browse Source

Use new CaptureProceedInfo feature of Castle.Core

pull/969/head
Halil ibrahim Kalkan 7 years ago
parent
commit
1da13a0a68
  1. 6
      framework/src/Volo.Abp.Castle.Core/Volo/Abp/Castle/DynamicProxy/CastleAbpMethodInvocationAdapter.cs

6
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<IReadOnlyDictionary<string, object>>(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

Loading…
Cancel
Save