I would like to add that there is something called middleware injection in .NET Core request pipeline. If implemented correctly this is very useful, as it can intercept application exceptions automatically and makes logging much easier (in one place instead of logging in every method).