Added Interface-Message example.
This commit is contained in:
parent
3d8bb747fe
commit
1b948149d0
|
|
@ -1,3 +1,4 @@
|
|||
using System;
|
||||
using MassTransit;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
|
@ -33,5 +34,17 @@ namespace Elsa.Samples.MassTransitRabbitMq.Controllers
|
|||
await _publishEndpoint.Publish(message);
|
||||
return Ok();
|
||||
}
|
||||
|
||||
[Route("interface")]
|
||||
[HttpPost]
|
||||
public async Task<IActionResult> TriggerInterface()
|
||||
{
|
||||
var message = new
|
||||
{
|
||||
CorrelationId = Guid.Parse("e9ca46dd-36b9-4fc4-b7db-3bb7190e4488")
|
||||
};
|
||||
await _publishEndpoint.Publish<IInterfaceMessage>(message);
|
||||
return Ok();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Elsa.Samples.MassTransitRabbitMq.Messages
|
||||
{
|
||||
public interface IInterfaceMessage
|
||||
{
|
||||
Guid CorrelationId { get; set; }
|
||||
}
|
||||
}
|
||||
|
|
@ -23,6 +23,7 @@ namespace Elsa.Samples.MassTransitRabbitMq
|
|||
// Add workflow consumer for message
|
||||
x.AddConsumer(CreateWorkflowConsumer(typeof(FirstMessage)));
|
||||
x.AddConsumer(CreateWorkflowConsumer(typeof(SecondMessage)));
|
||||
x.AddConsumer(CreateWorkflowConsumer(typeof(IInterfaceMessage)));
|
||||
|
||||
// Configure rabbitmq
|
||||
x.UsingRabbitMq((ctx, cfg) =>
|
||||
|
|
@ -38,6 +39,7 @@ namespace Elsa.Samples.MassTransitRabbitMq
|
|||
.AddConsoleActivities()
|
||||
.AddMassTransitActivities()
|
||||
.AddWorkflow<TestWorkflow>()
|
||||
.AddWorkflow<InterfaceTestWorkflow>()
|
||||
);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,23 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using Elsa.Activities.Console;
|
||||
using Elsa.Activities.MassTransit;
|
||||
using Elsa.Builders;
|
||||
using Elsa.Samples.MassTransitRabbitMq.Messages;
|
||||
|
||||
namespace Elsa.Samples.MassTransitRabbitMq.Workflows
|
||||
{
|
||||
public class InterfaceTestWorkflow : IWorkflow
|
||||
{
|
||||
public void Build(IWorkflowBuilder builder)
|
||||
{
|
||||
builder
|
||||
.ReceiveMassTransitMessage(
|
||||
activity => activity.Set(x => x.MessageType, x => typeof(IInterfaceMessage))
|
||||
)
|
||||
.WriteLine(context => $"Received interface message");
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Reference in a new issue