Samples
Sample projects are available in the /samples/
folder of the repository. The required infrastructure for each sample can be spin up using docker-compose with the .yml
configuration file provided in the sample’s folder.
-
Sample 1 is a simple .NET Console Application showing how to bootstrap OpenSleigh and use In-Memory persistence and transport.
-
Sample 2 is a more interesting scenario, with a Web API acting as message producer and a Console Application as subscriber. This example uses RabbitMQ and MongoDB. It also uses a custom naming policy for some messages, which allows greater flexibility with exchanges and queue generation.
-
Sample 3 is the same as Sample 2, but with SQL Server instead of MongoDB.
-
Sample 4 mimicks an order processing scenario, showing how to orchestrate multiple services. It uses RabbitMQ and SQL Server.
-
Sample 5 shows how to configure retry policies on a Saga.
-
Sample 6 shows how to use Azure Service Bus as Transport mechanism and how to automatically provision the infrastructure.
-
Sample 7 shows how to configure OpenSleigh to use compensating transactions.
-
Sample 8 shows how to send notifications to a Blazor client application from a Saga using SignalR.
-
Sample 9 same as sample 2 and 3, but with Kafka instead of RabbitMQ.
-
Sample 10 same as sample 2, but with PostgreSQL instead of SQL Server.
-
Sample 11 shows how to use Stateless Message Handlers with Kafka and PostgreSQL.
-
Sample 12 shows how to use Stateless Message Handlers with Azure ServiceBus.