Cross-cutting Concerns

With all of these, logging is the example used, but there are many other cross-cutting concerns you can add to these pipelines such as validation, caching, retrying, tracing. The concerns don’t need to be cross-cutting, for example I like to commit my database transaction after MediatR requests are handled, for which I register a Pipeline Behavior.

Logging

Tracing

Retrying

  • Jitter etc

Caching

Validation

Exception Handling

Transaction Committing