DryIoc RegisterInitializer用于记录分辨率错误?

时间:2016-03-10 09:54:00

标签: dryioc

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

无论如何使用RegisterInitializer或类似的方法记录失败的分辨率?

1 个答案:

答案 0 :(得分:1)

目前除了捕获ContainerException之外,没有直接的方法来记录每个分辨率的每个可能的错误。

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

var errors = container.VerifyResolutions();

这是docs

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

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

可能还有其他方法:例如使用Decorator来包装allow-default服务。但这在很大程度上取决于你的背景。