From 138d9be12cae19c2725026538e8b8f0215c6db1d Mon Sep 17 00:00:00 2001 From: Sipke Schoorstra Date: Mon, 19 Apr 2021 13:54:04 +0200 Subject: [PATCH] Add Send + Receive blocking workflow sample --- .../Program.cs | 5 +++-- .../Workflows/SendAndReceiveWorkflow.cs | 22 +++++++++++++++++++ 2 files changed, 25 insertions(+), 2 deletions(-) create mode 100644 src/samples/worker/Elsa.Samples.AzureServiceBusWorker/Workflows/SendAndReceiveWorkflow.cs diff --git a/src/samples/worker/Elsa.Samples.AzureServiceBusWorker/Program.cs b/src/samples/worker/Elsa.Samples.AzureServiceBusWorker/Program.cs index e2e702e51..1c7fa3f96 100644 --- a/src/samples/worker/Elsa.Samples.AzureServiceBusWorker/Program.cs +++ b/src/samples/worker/Elsa.Samples.AzureServiceBusWorker/Program.cs @@ -22,13 +22,14 @@ namespace Elsa.Samples.AzureServiceBusWorker { services .AddElsa(options => options - //.UseYesSqlPersistence(yesSql => yesSql.UseSqLite("Data Source=elsa.yessql.db;Cache=Shared", IsolationLevel.ReadUncommitted)) .UseEntityFrameworkPersistence(db => db.UseSqlite("Data Source=elsa.efcore.db;Cache=Shared", sqlite => sqlite.MigrationsAssembly(typeof(SqliteElsaContextFactory).Assembly.GetName().Name)), true) .AddConsoleActivities() .AddQuartzTemporalActivities() .AddAzureServiceBusActivities(o => o.ConnectionString = hostContext.Configuration.GetConnectionString("AzureServiceBus")) .AddWorkflow() - .AddWorkflow()); + .AddWorkflow() + .StartWorkflow() + ); }); } } \ No newline at end of file diff --git a/src/samples/worker/Elsa.Samples.AzureServiceBusWorker/Workflows/SendAndReceiveWorkflow.cs b/src/samples/worker/Elsa.Samples.AzureServiceBusWorker/Workflows/SendAndReceiveWorkflow.cs new file mode 100644 index 000000000..eb11292a4 --- /dev/null +++ b/src/samples/worker/Elsa.Samples.AzureServiceBusWorker/Workflows/SendAndReceiveWorkflow.cs @@ -0,0 +1,22 @@ +using Elsa.Activities.AzureServiceBus; +using Elsa.Activities.Console; +using Elsa.Builders; + +namespace Elsa.Samples.AzureServiceBusWorker.Workflows +{ + public class SendAndReceiveWorkflow : IWorkflow + { + public void Build(IWorkflowBuilder builder) => builder + .WriteLine(ctx => + { + var correlationId = System.Guid.NewGuid().ToString("n"); + ctx.WorkflowInstance.CorrelationId = correlationId; + + return $"Start! - correlationId: {correlationId}"; + }) + .SendTopicMessage("testtopic2", "\"Hello World\"") + .TopicMessageReceived("testtopic2", "testsub") + .WriteLine(ctx => "End: " + (string)ctx.Input); + + } +} \ No newline at end of file