Как перехватить IInvocation с помощью динамического прокси? - PullRequest
0 голосов
/ 08 мая 2011

Можно ли перехватить IInvocation, используя динамический прокси и виндзор (если для такого случая даже требуется виндзор). Я использую его для настройки генерации прокси)?изменил вызов перехваченного метода.
Например, переданные аргументы были изменены или возвращаемое значение.
Обратите внимание, что это только для целей отладки.

Ответы [ 2 ]

0 голосов
/ 08 сентября 2018

Следуйте приведенному ниже коду:

public class TransactionInterceptor : IInterceptor
{
    private readonly IUnitOfWork _UnitOfWork;
    public TransactionInterceptor(IUnitOfWork unitOfWork)
    {
        _UnitOfWork = unitOfWork;
    }

    public void Intercept(IInvocation invocation)
    {
        _UnitOfWork.Begin();

        try
        {
            invocation.Proceed();
            _UnitOfWork.Commit();
        }
        catch (Exception)
        {
            _UnitOfWork.RollBack();
            throw;
        }
    }
}
0 голосов
/ 08 мая 2011

Да, это возможно, я рекомендую прочитать это

...