public async Task InvokeAsync(HttpContext httpContext) { try { await _next(httpContext); } catch (Exception ex) when(!(ex is StackOverflowException)) { await _exceptionRequestHandler.Handle(httpContext, ex); } }
public TResponse Handle(TRequest message) { try { foreach (var preRequestHandler in _preRequestHandlers) { preRequestHandler.Handle(message); } var result = _inner.Handle(message); foreach (var postRequestHandler in _postRequestHandlers) { postRequestHandler.Handle(message, result); } return(result); } catch (Exception ex) { return(_exceptionRequestHandler.Handle(message, ex)); } }