28 lines
868 B
C#
28 lines
868 B
C#
using InServiceQue;
|
|
using InServiceQue.Core.Models;
|
|
using InServiceQue.Core.Repositories;
|
|
using InServiceQue.InMemory;
|
|
using InServiceQue.Sample;
|
|
using InServiceQue.Services;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
|
|
var builder = WebApplication.CreateBuilder(args);
|
|
builder.Services.AddInServiceQue(builder =>
|
|
{
|
|
builder.AddQueue<SendMessageTask, SendMessageHandler>();
|
|
builder.AddQueue<OtherMessageTask, OtherMessageHandler>();
|
|
}).UseInMemory();
|
|
var app = builder.Build();
|
|
|
|
app.MapGet("/", async (string msg) =>
|
|
{
|
|
var taskRepository = app.Services.GetService<IQueueClient>();
|
|
await taskRepository.AddTaskAsync(new QueueTask(new SendMessageTask(new SendMessagePayload()
|
|
{
|
|
From = "John", To = "Esther", Message = msg
|
|
})));
|
|
await taskRepository.AddTaskAsync(new QueueTask(new OtherMessageTask(msg)));
|
|
return new OkResult();
|
|
});
|
|
|
|
app.Run(); |