.Net Core装饰器模式:来自同一服务的调用方法

问题描述

我正在尝试应用装饰器模式来包装异常处理程序中服务中所有需要的方法,以提高可测试性并保持代码干净。

呼叫链如下:

  • EntityService.UpdateEntities(获取实体列表,使用foreach传递到下一个方法
  • EntityService.UpdateSingleEntity(执行实际更新)

UpdateEntities:

            var entities = await _context.Entities.Where(criteria).ToListAsync(cancellationToken);
            entities.ForEach(async e => await UpdateEntity(e));

此处,从同一服务调用UpdateEntity,而无需先调用装饰器

这些方法需要拆分,因为我将需要软件另一部分的最后一个方法

问题是,因为我从同一服务调用方法,所以装饰器被跳过。 当然,如果我使用构造函数注入将服务注入自身,则会发生堆栈溢出异常。

我将如何解决此问题?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)