예제 #1
0
        /// <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);
                }
            }
        }
예제 #2
0
 private void OnEndRequest(object sender, EventArgs e)
 {
     _renderEngineFactor.ReturnEngine((IRenderEngine)HttpContext.Current.Items["RenderEngine"]);
 }