Add Send + Receive blocking workflow sample
This commit is contained in:
parent
45ef7efd95
commit
138d9be12c
|
|
@ -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>()
|
||||
);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
@ -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);
|
||||
|
||||
}
|
||||
}
|
||||
Loading…
Reference in a new issue