Add Send + Receive blocking workflow sample

This commit is contained in:
Sipke Schoorstra 2021-04-19 13:54:04 +02:00
parent 45ef7efd95
commit 138d9be12c
2 changed files with 25 additions and 2 deletions

View file

@ -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<ProducerWorkflow>()
.AddWorkflow<ConsumerWorkflow>());
.AddWorkflow<ConsumerWorkflow>()
.StartWorkflow<SendAndReceiveWorkflow>()
);
});
}
}

View file

@ -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<string>("testtopic2", "testsub")
.WriteLine(ctx => "End: " + (string)ctx.Input);
}
}