Class EfOutboxStore
Entity Framework Core implementation of IOutboxStore and ICleanupStore.
Inherited Members
Namespace: Chapar.Outbox.EntityFrameworkCore.Stores
Assembly: Chapar.Outbox.EntityFrameworkCore.dll
Syntax
public sealed class EfOutboxStore : IOutboxStore, ICleanupStore
Constructors
| Edit this page View SourceEfOutboxStore(IChaparDbContext)
Initializes a new instance of the EfOutboxStore class.
Declaration
public EfOutboxStore(IChaparDbContext dbContext)
Parameters
| Type | Name | Description |
|---|---|---|
| IChaparDbContext | dbContext | The IChaparDbContext used to access the outbox table. |
Methods
| Edit this page View SourceDeleteProcessedAsync(DateTime, CancellationToken)
Deletes all processed records older than the specified date. Returns the number of deleted records.
Declaration
public Task<int> DeleteProcessedAsync(DateTime olderThan, CancellationToken cancellationToken = default)
Parameters
| Type | Name | Description |
|---|---|---|
| DateTime | olderThan | Cutoff date; records processed before this will be deleted. |
| CancellationToken | cancellationToken | Cancellation token. |
Returns
| Type | Description |
|---|---|
| Task<int> | Number of deleted records. |
GetUnprocessedMessagesAsync(CancellationToken)
Retrieves all unprocessed outbox messages. The order should be consistent to preserve causality (usually by OccurredOn).
Declaration
public Task<IReadOnlyList<OutboxMessage>> GetUnprocessedMessagesAsync(CancellationToken cancellationToken = default)
Parameters
| Type | Name | Description |
|---|---|---|
| CancellationToken | cancellationToken |
Returns
| Type | Description |
|---|---|
| Task<IReadOnlyList<OutboxMessage>> |
GetUnprocessedMessagesCountAsync(CancellationToken)
Gets the total count of unprocessed outbox messages.
Declaration
public Task<int> GetUnprocessedMessagesCountAsync(CancellationToken cancellationToken = default)
Parameters
| Type | Name | Description |
|---|---|---|
| CancellationToken | cancellationToken |
Returns
| Type | Description |
|---|---|
| Task<int> |
MarkAsProcessedAsync(Guid, CancellationToken)
Marks an outbox message as successfully published.
Declaration
public Task MarkAsProcessedAsync(Guid messageId, CancellationToken cancellationToken = default)
Parameters
| Type | Name | Description |
|---|---|---|
| Guid | messageId | |
| CancellationToken | cancellationToken |
Returns
| Type | Description |
|---|---|
| Task |
SaveAsync(OutboxMessage, CancellationToken)
Saves a single outbox message in the same transaction as the business data.
Declaration
public Task SaveAsync(OutboxMessage message, CancellationToken cancellationToken = default)
Parameters
| Type | Name | Description |
|---|---|---|
| OutboxMessage | message | |
| CancellationToken | cancellationToken |
Returns
| Type | Description |
|---|---|
| Task |