private IHttpHandler CreateDefaultHandler(IHttpContext ctx, IServiceRequest req, DefaultServiceDispatcher serviceDispatcher) { Action invoke = () => { IServiceResponse resp = null; try { resp = serviceDispatcher.Dispatch(req); } catch (Exception e) { throw e; } finally { var disposalbe = serviceDispatcher as IDisposable; if (disposalbe != null) disposalbe.Dispose(); ServiceContext.Current = null; } try { ResponseResolver.Execute(ctx, resp); } catch (Exception ex) { throw ex; } }; return new RequireSessionHttpHandler { Handler = invoke }; }