Code23.EventBus.Abstractions
0.3.9
dotnet add package Code23.EventBus.Abstractions --version 0.3.9
NuGet\Install-Package Code23.EventBus.Abstractions -Version 0.3.9
<PackageReference Include="Code23.EventBus.Abstractions" Version="0.3.9" />
paket add Code23.EventBus.Abstractions --version 0.3.9
#r "nuget: Code23.EventBus.Abstractions, 0.3.9"
// Install Code23.EventBus.Abstractions as a Cake Addin
#addin nuget:?package=Code23.EventBus.Abstractions&version=0.3.9
// Install Code23.EventBus.Abstractions as a Cake Tool
#tool nuget:?package=Code23.EventBus.Abstractions&version=0.3.9
Code23.EventBus.Abstractions
Interfaces und Klassen zur Verwendung von Code23.EventBus.
Ableitungen/Implementierungen für Sagas und Handlers
Saga<TState>
Erstellen einer Saga-Klasse mit State.
Sagas besitzen darüber hinaus noch weitere Methoden:
- RetryLater, um die Message zurückzureihen
- Publish, um eine andere Message zu senden
- Compensate, um den Versender zu informieren, dass der Vorgang abgebrochen wurde
- Log, um einen Log-Eintrag zur Saga zu erstellen
- MarkAsCompleted, um die Saga zu beenden
IStartedByMessage<TMessage>
Sagas werden über TMessages erzeugt. Beim Erhalt der Message wird HandleAsync aufgerufen.
IHandleMessage<TMessage>
Bestehende Sagas (oder keine Saga-Klassen) rufen beim Erhalt dieser Message die HandleAync-Methode auf.
ICompensateMessage<TMessage>
Tritt bei der Bearbeitung einer Message ein Fehler auf, so wird eine Compensate-Message an den Sender der Nachricht geschickt. Ist dort ICompensateMessage<TMessage> implementiert, wird die Methode CompensateAysnc aufgerufen.
Versand von Messages
Der Versand von neuen Message wird mit IMessageService.PublishAsync gemacht. Beispiel:
messageService.PublishAsync(
new OrderPlaced()
correlationId: "69C82445-C845-4F94-BE10-BC20F1872DBA", //Correlation-ID => eindeutig in Kombation mit Saga-Type (wird intern für die Suche nach aktiven States verwendet).
);
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
-
net6.0
- No dependencies.
NuGet packages (5)
Showing the top 5 NuGet packages that depend on Code23.EventBus.Abstractions:
Package | Downloads |
---|---|
Code23.EventBus.Persistence.MsSql
Code23.EventBus.Persistence.MsSql |
|
Code23.EventBus.Transport.RabbitMQ
Code23.EventBus.Transport.RabbitMQ |
|
Code23.EventBus.Core
Code23.EventBus.Core |
|
Code23.EventBus.Transport.AzureServiceBus
Code23.EventBus.Transport.AzureServiceBus |
|
Code23.EventBus.Persistence.AzureTableStorage
Code23.EventBus.Persistence.AzureTableStorage |
GitHub repositories
This package is not used by any popular GitHub repositories.