Implementing Cross-cutting Concerns for ASP.NET Core Microservices By Steve Gordon