/// <summary> /// <inheritdoc cref="IPipelineBehaviour{TRequest,TResponse}"/> /// </summary> public async Task <TResponse> Handle(TRequest request, HandleRequestsDelegate <TResponse> next) { PreHandle(request); var response = await InvokeHandle(request, next); PostHandle(request, response); return(response); }
/// <summary> /// Invoke the handler for the next item in the pipeline. /// </summary> /// <param name="request">The request that has been made.</param> /// <param name="next">The next item in the pipeline.</param> /// <returns>The response from the next item in the pipeline.</returns> // ReSharper disable once VirtualMemberNeverOverridden.Global protected virtual async Task <TResponse> InvokeHandle(TRequest request, HandleRequestsDelegate <TResponse> next) { return(await next()); }