/// <summary> /// Invokes the specified context. /// </summary> /// <param name="context">The context.</param> /// <returns></returns> public async Task Invoke(HttpContext context) { IRenderEngine engine = null; try { engine = _renderEngineFactory.RequestEngine(); context.Items["RenderEngine"] = engine; await _next(context); } finally { if (engine != null) { _renderEngineFactory.ReturnEngine(engine); } } }
private void OnEndRequest(object sender, EventArgs e) { _renderEngineFactor.ReturnEngine((IRenderEngine)HttpContext.Current.Items["RenderEngine"]); }