One of the things I wanted to add were some decorators to provide some extra functionality(like authorization, logging, transaction management,…) before and after a request. Turns out I’m lucky as with the release of MediatR 3.0 I can fall back to a built-in functionality called behaviors.
Similar to action filters in ASP.NET MVC, it gives me the opportunity to execute some arbitrary logic before and after a request(command/query). Usage is simple:
- You have to implement the IPipelineBehavior<TRequest, TResponse> interface:
- Don’t forget to register the pipeline behavior through your IoC container(StructureMap in the example below)!