小编cmd*_*del的帖子

带有 Autofac 和 DynamicProxy2 异常处理的 AOP

我正在尝试集中管理某个方法的异常处理,但我似乎无法到达那里。

public class ExceptionInterceptor : IInterceptor
{
    private readonly Logger _logger;

    public ExceptionInterceptor(Logger logger)
    {
        _logger = logger;
        Measure.Configure(new StatsdConfig());
    }

    public void Intercept(IInvocation invocation)
    {
        try
        {
            invocation.Proceed();
            //if ((Task<System.Threading.Tasks.VoidTaskReturn>) invocation.ReturnValue.Status == "Failed")
            //{
            //    throw new Exception(invocation.ReturnValue.Exception[0]);
            //}
        }
        catch (Exception e)
        {
            var errorMessage =
                String.Format(
                    "An error occurred while retrieving fund data. Error Message: {0} Inner Exception: {1}",
                    e.Message, e.InnerException != null ? e.InnerException.Message : "<None>");

            _logger.Log(errorMessage);
            Measure.Counter("Exception", 1);
            Measure.Event("Exception", errorMessage);
            throw;
        }

    }
Run Code Online (Sandbox Code Playgroud)

我将它连接到一个模块中,如下所示:

builder.RegisterType<DataConsumer>(). …
Run Code Online (Sandbox Code Playgroud)

c# aop autofac

0
推荐指数
1
解决办法
1777
查看次数

标签 统计

aop ×1

autofac ×1

c# ×1