Table of Contents

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

headers MessageHeaders

Headers available to the current execution.

cancellationToken CancellationToken

Cancellation token for async message processing.

Properties

CancellationToken

Cancellation token for async message processing.

public CancellationToken CancellationToken { get; }

Property Value

CancellationToken

Empty

An empty message context.

public static MessageContext Empty { get; }

Property Value

MessageContext

Headers

Headers available to the current execution.

public MessageHeaders Headers { get; }

Property Value

MessageHeaders

Items

Scoped execution items for diagnostics and pattern composition.

public IReadOnlyDictionary<string, object?> Items { get; }

Property Value

IReadOnlyDictionary<string, object>

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

message Message<TPayload>
cancellationToken CancellationToken

Returns

MessageContext

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

key string
value T

Returns

bool

Type Parameters

T

WithCancellation(CancellationToken)

Returns a new context with the supplied cancellation token.

public MessageContext WithCancellation(CancellationToken cancellationToken)

Parameters

cancellationToken CancellationToken

Returns

MessageContext

WithHeader(string, object?)

Returns a new context with a header value set.

public MessageContext WithHeader(string name, object? value)

Parameters

name string
value object

Returns

MessageContext

WithHeaders(MessageHeaders)

Returns a new context with the supplied headers.

public MessageContext WithHeaders(MessageHeaders headers)

Parameters

headers MessageHeaders

Returns

MessageContext

WithItem(string, object?)

Returns a new context with an execution item set.

public MessageContext WithItem(string key, object? value)

Parameters

key string
value object

Returns

MessageContext

WithoutItem(string)

Returns a new context without an execution item.

public MessageContext WithoutItem(string key)

Parameters

key string

Returns

MessageContext