Invokes the middleware, optionally calling next to
continue the pipeline.
Task InvokeAsync(InvocationContext context, Func<InvocationContext, Task> next)
The current invocation context.
The delegate to invoke the next middleware or the terminal pipeline.
The next delegate no longer carries a CancellationToken parameter.
Middleware must read the cancellation token from context.CancellationToken.