单元测试时由HttpContext缓存的StructureMap和项

时间:2011-10-20 15:23:54

标签: asp.net-mvc structuremap httpcontext

我们正在使用StructureMap来缓存InstanceScope.HttpContext的类。当单元测试依赖于此类型的控制器时,从StructureMap中抛出空引用异常,似乎表明它正在尝试访问静态当前的HttpContext(而不是MVC包装器)。

我们如何才能完全配置HttpContext.Current(看似错误来自这里的装饰结构图),以获得一个能够正确使用structuremap的有效上下文?

2 个答案:

答案 0 :(得分:2)

这是known bug

只需实施修复并编译。

答案 1 :(得分:0)

你有没有尝试/你可以使用:

containter.For<ICupCakeService>().HybridHttpOrThreadLocalScoped().Use<MyCupCakeService>();

...如果HttpContext存在,它将使用它,否则使用ThreadLocal存储。

更多:StructureMap - Scoping and Lifecycle Management