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;
}));
可能还有其他方法:例如使用装饰器来包装允许默认服务。但这在很大程度上取决于您的上下文。
查看 DryIoc 的文档,我发现有一种方法可以注册可用于记录成功解析的初始化函数。
是否可以使用 RegisterInitializer 或类似工具记录失败的解决方案?
目前没有直接的方法记录每一个可能的错误,除非捕获 ContainerException
。
但可以事先检测到潜在的错误:
var errors = container.VerifyResolutions();
这里是 docs.
如果您对未知注册感兴趣,可以通过 UnknownServiceResolvers 添加规则以记录未知:
container = new Container(rules =>
rules.WithUnknownServiceResolvers(
request => {
Log.Error("Not found: " + request);
return null;
}));
可能还有其他方法:例如使用装饰器来包装允许默认服务。但这在很大程度上取决于您的上下文。