AspNetCore Request Pipeline and Middlewares VS2017

AspNetCore, like its predecessors Katana and vNext, heavily rely on middleware. Lets consider middleware as a black boxed components filled with instructions. One of these instructions is to call the next middleware. If the next middleware is available to call, then it's called on the call stack but if there isn't control is given back [...]