gpt4 book ai didi

DryIOC 容器内容

转载 作者:行者123 更新时间:2023-12-01 05:01:03 26 4
gpt4 key购买 nike

StructureMap 在 Container 类上有一个非常有用的调试方法,称为 WhatDoIHave()

它显示了容器中的每种类型及其生命周期、guid 和一堆其他信息。这对调试很有用。

这里有一些信息:

http://jeremydmiller.com/2014/02/18/structuremap-3-is-gonna-tell-you-whats-wrong-and-where-it-hurts/

DryIOC 是否具有等效的调试功能?

最佳答案

(我是 DryIoc 的创建者)。

您可以使用 container.GetServiceRegistrations()获取@fyodor-soikin 建议的注册信息。

但在最新版本( 2.0.0-rc3build339 )我添加了 VerifyResolutions可以帮助您诊断潜在的解决问题的方法,包括缺少注册。这里的维基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键值对。在这个例子中,注册信息将是:

MyNamespace.MyService registered as factory {ID=14, ImplType=MyNamespace.MyService}



异常(exception)情况是:

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 中可用.

关于DryIOC 容器内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32657412/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com