DryIoc RegisterInitializer 用于记录解析错误?

DryIoc RegisterInitializer for logging resolution errors?

查看 DryIoc 的文档,我发现有一种方法可以注册可用于记录成功解析的初始化函数。

是否可以使用 RegisterInitializer 或类似工具记录失败的解决方案?

目前没有直接的方法记录每一个可能的错误,除非捕获 ContainerException

但可以事先检测到潜在的错误:

var errors = container.VerifyResolutions();

这里是 docs.

如果您对未知注册感兴趣,可以通过 UnknownServiceResolvers 添加规则以记录未知:

container = new Container(rules =>
    rules.WithUnknownServiceResolvers(
       request => {
           Log.Error("Not found: " + request);
           return null;
       }));

可能还有其他方法:例如使用装饰器来包装允许默认服务。但这在很大程度上取决于您的上下文。