Asp.net mvc 3 StructureMap ReleaseAndDisposeAllHttpScopedObjects不会导致Dispose调用

Asp.net mvc 3 StructureMap ReleaseAndDisposeAllHttpScopedObjects不会导致Dispose调用,asp.net-mvc-3,inversion-of-control,ioc-container,structuremap,Asp.net Mvc 3,Inversion Of Control,Ioc Container,Structuremap,我正在调用应用程序_EndRequest中的ObjectFactory.ReleaseAndDisposeAllHttpScopedObjects(),该应用程序将按预期启动,但它不会导致容器内的任何Http作用域实例被处置。如果我调用Application_EndRequest中的WhatDoIHave,我可以看到我希望调用Dispose的Http作用域实例,但它没有发生!有什么想法吗 当我查看HttpContext.Current.Items StructureMap时,它没有在其中隐藏任何

我正在调用应用程序_EndRequest中的ObjectFactory.ReleaseAndDisposeAllHttpScopedObjects(),该应用程序将按预期启动,但它不会导致容器内的任何Http作用域实例被处置。如果我调用Application_EndRequest中的WhatDoIHave,我可以看到我希望调用Dispose的Http作用域实例,但它没有发生!有什么想法吗

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

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

IConnectionProvider继承自IDisposable。

这是我的noob!在依赖关系图的上面有一个对象被配置为Singleton作用域,因此挂在我希望在每个请求结束时处理的对象(连接提供程序)上!将此对象的范围从单例更改为瞬态导致一切都开始按我所希望的方式工作