Class InboxMessage
- Namespace
- Trellis.EntityFrameworkCore
- Assembly
- Trellis.EntityFrameworkCore.Inbox.dll
A persisted record that a (ConsumerId, MessageId) message has been processed. Its existence is the dedup guarantee: a redelivery of the same message finds the row and is skipped, so a handler's side effects run effectively once.
public sealed class InboxMessage
- Inheritance
-
InboxMessage
- Inherited Members
- Extension Methods
Remarks
This is transient infrastructure, not a domain aggregate. Rows may be pruned once they are older than the transport's maximum redelivery window — delete sooner and a late redelivery would be reprocessed.
Properties
CausationId
Optional lineage: the id of the message that directly caused this one.
public Guid? CausationId { get; }
Property Value
- Guid?
ConsumerId
The stable subscriber identifier; part of the dedup key.
public string ConsumerId { get; }
Property Value
CorrelationId
Optional lineage: the workflow / conversation id.
public string? CorrelationId { get; }
Property Value
EventType
The assembly-qualified name of the integration event type, recorded for audit.
public string EventType { get; }
Property Value
MessageId
The message's stable id (the producer's outbox id); part of the dedup key.
public Guid MessageId { get; }
Property Value
MessageSource
The producing service / bounded context, if the envelope supplied one.
public string? MessageSource { get; }
Property Value
OccurredAt
When the business fact occurred (copied from the event's OccurredAt).
public DateTimeOffset OccurredAt { get; }
Property Value
ProcessedAt
When this consumer processed the message.
public DateTimeOffset ProcessedAt { get; }