Passing information between Handlers in the Pipeline
Using the Context Bag
public class MyContextAwareCommandHandler : RequestHandler<MyCommand>
{
public static string TestString { get; set; }
public override MyCommand Handle(MyCommand command)
{
LogContext();
return base.Handle(command);
}
private void LogContext()
{
TestString = (string)Context.Bag["TestString"];
Context.Bag["MyContextAwareCommandHandler"] = "I was called and set the context";
}
}Request Context Capabilities
Setting Request Context Explicitly
Partition Key
Custom Headers
CloudEvents Extensions
Originating Message
OpenTelemetry Span
Destination Override
Resilience Context
Resilience Pipeline Registry
Well-Known Context Bag Keys
Best Practices
1. Use Well-Known Keys
2. Clean Up Resources
3. Document Custom Context Keys
4. Check for Null Before Accessing Properties
5. Use Explicit RequestContext for Important Metadata
Related Documentation
Summary
Last updated
Was this helpful?
