【问题标题】:StructureMap ReleaseAndDisposeAllHttpScopedObjects does not cause Dispose callsStructureMap ReleaseAndDisposeAllHttpScopedObjects 不会导致 Dispose 调用
【发布时间】:2011-12-16 10:54:36
【问题描述】:

我在 Application_EndRequest 中调用 ObjectFactory.ReleaseAndDisposeAllHttpScopedObjects(),它按预期触发,但它不会导致容器内的任何 Http-Scoped 实例被 Dispose 处理。如果我在 Application_EndRequest 中调用 WhatDoIHave,我可以看到我想要调用 Dispose 的 Http-Scoped 实例,但它没有发生!有什么想法为什么不呢?

当我查看 HttpContext.Current.Items StructureMap 并没有在其中隐藏任何东西时,我猜它应该有?注册为请求范围的项目示例如下:

For<IConnectionProvider>().HybridHttpOrThreadLocalScoped().Use<ConnectionProvider>();

IConnectionProvider 继承自 IDisposable。

【问题讨论】:

    标签: asp.net-mvc-3 inversion-of-control ioc-container structuremap


    【解决方案1】:

    这是我的菜鸟!有一个对象配置为单例范围的依赖关系图,因此挂在我想在每个请求结束时处理的对象(连接提供程序)上!将此对象的范围从 Singleton 更改为 Transient 导致一切开始按我的意愿工作!

    【讨论】:

      猜你喜欢
      • 2010-09-18
      • 2023-03-04
      • 2012-12-04
      • 2012-10-10
      • 2021-12-25
      • 1970-01-01
      • 2021-02-22
      相关资源
      最近更新 更多