Class EventBundle
Wire-level bundle of events emitted by a single command. Travels through the outbox + message bus as one unit so projections and sagas see a transactionally-consistent slice.
[ExcludeFromCodeCoverage]
public sealed record EventBundle : IEquatable<EventBundle>
- Inheritance
-
EventBundle
- Implements
- Inherited Members
- Extension Methods
Remarks
Property names are pinned via JsonPropertyNameAttribute so the wire format is independent of
any consumer-side JsonSerializerOptions.PropertyNamingPolicy.
Constructors
EventBundle(IReadOnlyList<EventMessage>, string, string?)
Wire-level bundle of events emitted by a single command. Travels through the outbox + message bus as one unit so projections and sagas see a transactionally-consistent slice.
public EventBundle(IReadOnlyList<EventMessage> Events, string SessionContextJson, string? Signature = null)
Parameters
EventsIReadOnlyList<EventMessage>Ordered list of events in the bundle.
SessionContextJsonstringJSON serialization of the originating SessionContext.
SignaturestringOptional opaque signature produced by
IBusEnvelopeSignerwhen bus integrity is enabled. Defaults tonullfor backwards compatibility with hosts that have not opted in.
Remarks
Property names are pinned via JsonPropertyNameAttribute so the wire format is independent of
any consumer-side JsonSerializerOptions.PropertyNamingPolicy.
Properties
Events
Ordered list of events in the bundle.
[JsonPropertyName("Events")]
public IReadOnlyList<EventMessage> Events { get; init; }
Property Value
SessionContextJson
JSON serialization of the originating SessionContext.
[JsonPropertyName("SessionContextJson")]
public string SessionContextJson { get; init; }
Property Value
Signature
Optional opaque signature produced by IBusEnvelopeSigner when bus integrity is enabled. Defaults to null for backwards compatibility with hosts that have not opted in.
[JsonPropertyName("Signature")]
public string? Signature { get; init; }