查看DryIoc的文档我看到有一种方法可以注册一个初始化函数,可用于记录成功的解析。
无论如何使用RegisterInitializer或类似的方法记录失败的分辨率?
答案 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服务。但这在很大程度上取决于你的背景。