public void With_context_uses_context() { var tw = new StringWriter(); var wr = new SimpleWorkerRequest("/", Directory.GetCurrentDirectory(), "default.aspx", null, tw); var module = new PerWebRequestLifestyleModule(); var ctx = HttpModuleRunner.GetContext(wr, new[] { module }); HttpContext.Current = ctx.Key; using (var k = new DefaultKernel()) { k.Register(Component.For <Dummy>().LifeStyle.HybridPerWebRequestTransient()); var d1 = k.Resolve <Dummy>(); Assert.IsNotNull(d1); var d2 = k.Resolve <Dummy>(); Assert.IsNotNull(d2); Assert.AreSame(d1, d2); ctx.Value.FireEndRequest(); ctx.Key.Items["castle.per-web-request-lifestyle-cache"] = null; var d3 = k.Resolve <Dummy>(); Assert.AreNotSame(d1, d3); } }