DryIOC 容器内容
DryIOC Container Contents
StructureMap 在容器 class 上有一个超级有用的调试方法,叫做 WhatDoIHave()
它显示容器中的每个类型及其生命周期、guid 和一堆其他信息。这对调试很有用。
这里有一些信息:
http://jeremydmiller.com/2014/02/18/structuremap-3-is-gonna-tell-you-whats-wrong-and-where-it-hurts/
DryIOC 是否具有等效的调试功能?
(我是 DryIoc 的创建者)。
您可以按照@fyodor-soikin 的建议使用container.GetServiceRegistrations()
获取注册信息。
但在最新版本 (2.0.0-rc3build339) 中,我添加了 VerifyResolutions
方法可以帮助您诊断潜在的解析问题,包括缺少注册作为出色地。这里是 wiki explaining it.
维基示例:
// Given following SUT
public class RequiredDependency {}
public class MyService { public MyService(RequiredDependency d) {} }
// Let's assume we forgot to register RequiredDependency
var container = new Container();
container.Register<MyService>();
// Find what's missing
var results = container.VerifyResolutions();
Assert.AreEqual(1, results.Length);
验证结果是 ServiceRegistrationInfo
和 ContainerException
KeyValuePairs 的数组。在此示例中,注册信息将为:
MyNamespace.MyService registered as factory {ID=14, ImplType=MyNamespace.MyService}
例外情况是:
DryIoc.ContainerException: Unable to resolve MyNamespace.RequiredDependency as parameter "d"
in MyNamespace.MyService.
Where no service registrations found
and number of Rules.FallbackContainers: 0
and number of Rules.UnknownServiceResolvers: 0
更新:
该功能在最新的稳定版 DryIoc 2.0.0 中可用。
StructureMap 在容器 class 上有一个超级有用的调试方法,叫做 WhatDoIHave()
它显示容器中的每个类型及其生命周期、guid 和一堆其他信息。这对调试很有用。
这里有一些信息:
http://jeremydmiller.com/2014/02/18/structuremap-3-is-gonna-tell-you-whats-wrong-and-where-it-hurts/
DryIOC 是否具有等效的调试功能?
(我是 DryIoc 的创建者)。
您可以按照@fyodor-soikin 的建议使用container.GetServiceRegistrations()
获取注册信息。
但在最新版本 (2.0.0-rc3build339) 中,我添加了 VerifyResolutions
方法可以帮助您诊断潜在的解析问题,包括缺少注册作为出色地。这里是 wiki explaining it.
维基示例:
// Given following SUT
public class RequiredDependency {}
public class MyService { public MyService(RequiredDependency d) {} }
// Let's assume we forgot to register RequiredDependency
var container = new Container();
container.Register<MyService>();
// Find what's missing
var results = container.VerifyResolutions();
Assert.AreEqual(1, results.Length);
验证结果是 ServiceRegistrationInfo
和 ContainerException
KeyValuePairs 的数组。在此示例中,注册信息将为:
MyNamespace.MyService registered as factory {ID=14, ImplType=MyNamespace.MyService}
例外情况是:
DryIoc.ContainerException: Unable to resolve MyNamespace.RequiredDependency as parameter "d" in MyNamespace.MyService.
Where no service registrations found
and number of Rules.FallbackContainers: 0
and number of Rules.UnknownServiceResolvers: 0
更新:
该功能在最新的稳定版 DryIoc 2.0.0 中可用。