Class MessageContext
- Namespace
- PatternKit.Messaging
- Assembly
- PatternKit.Core.dll
Immutable per-execution context for message routing, diagnostics, and pattern composition.
public sealed class MessageContext
- Inheritance
-
MessageContext
- Inherited Members
Constructors
MessageContext(MessageHeaders?, CancellationToken)
Creates a new message context.
public MessageContext(MessageHeaders? headers = null, CancellationToken cancellationToken = default)
Parameters
headersMessageHeadersHeaders available to the current execution.
cancellationTokenCancellationTokenCancellation token for async message processing.
Properties
CancellationToken
Cancellation token for async message processing.
public CancellationToken CancellationToken { get; }
Property Value
Empty
An empty message context.
public static MessageContext Empty { get; }
Property Value
Headers
Headers available to the current execution.
public MessageHeaders Headers { get; }
Property Value
Items
Scoped execution items for diagnostics and pattern composition.
public IReadOnlyDictionary<string, object?> Items { get; }
Property Value
Methods
From<TPayload>(Message<TPayload>, CancellationToken)
Creates a context from a message, copying the message headers.
public static MessageContext From<TPayload>(Message<TPayload> message, CancellationToken cancellationToken = default)
Parameters
messageMessage<TPayload>cancellationTokenCancellationToken
Returns
Type Parameters
TPayload
TryGetItem<T>(string, out T?)
Attempts to read an execution item as T.
public bool TryGetItem<T>(string key, out T? value)
Parameters
keystringvalueT
Returns
Type Parameters
T
WithCancellation(CancellationToken)
Returns a new context with the supplied cancellation token.
public MessageContext WithCancellation(CancellationToken cancellationToken)
Parameters
cancellationTokenCancellationToken
Returns
WithHeader(string, object?)
Returns a new context with a header value set.
public MessageContext WithHeader(string name, object? value)
Parameters
Returns
WithHeaders(MessageHeaders)
Returns a new context with the supplied headers.
public MessageContext WithHeaders(MessageHeaders headers)
Parameters
headersMessageHeaders
Returns
WithItem(string, object?)
Returns a new context with an execution item set.
public MessageContext WithItem(string key, object? value)
Parameters
Returns
WithoutItem(string)
Returns a new context without an execution item.
public MessageContext WithoutItem(string key)
Parameters
keystring