【问题标题】:Is there a way to detect and debug circular references when using StructureMap?使用 StructureMap 时有没有办法检测和调试循环引用?
【发布时间】:2009-07-08 15:05:57
【问题描述】:

最近我一直在使用大量较小的对象,因为它们更简单且更易于重用。大多数情况下,使用 StructureMap(很棒的工具,顺便说一句)将这些对象相互注入没有任何问题。但偶尔,我搞砸了,我以堆栈溢出异常 (tm) 为幌子得到了一个很好的循环引用。

因此,除了查看自上次测试运行以来我最近的所有更改之外,StructureMap 是否提供任何用于调试循环引用的机制,或者是否有一个简单的工具可以在这种情况下有用?

谢谢大家!

【问题讨论】:

  • 您找到解决此问题的好方法了吗?调用 ObjectFactory.AssertConfigurationIsValid() 只会给我同样的 StackOverflowException。
  • 不,遗憾的是,除了在添加具有大型依赖链的新依赖时要更加小心之外,没有一个好的解决方案。我不再经常遇到这种情况了,因为我的依赖链更具战略性。我试图防止它们变得太深,并且我知道一些依赖项是安全的,因为它们的链不会被改变。

标签: dependency-injection inversion-of-control structuremap stack-overflow circular-reference


【解决方案1】:

ObjectFactory.AssertConfigurationIsValid(); 将检查您的图表并尝试实例化所有插入的类型。

【讨论】:

    猜你喜欢
    • 2011-11-26
    • 2021-12-21
    • 2023-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-17
    相关资源
    最近更新 更多