35 lines
996 B
C#
35 lines
996 B
C#
using InServiceQue;
|
|
using InServiceQue.Core.Models;
|
|
using InServiceQue.Core.Repositories;
|
|
using InServiceQue.InMemory;
|
|
using InServiceQue.Sample;
|
|
using InServiceQue.Services;
|
|
using Microsoft.AspNetCore.Http.HttpResults;
|
|
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) =>
|
|
{
|
|
if (!string.IsNullOrEmpty(msg))
|
|
{
|
|
var taskRepository = app.Services.GetService<IQueueClient>();
|
|
await taskRepository.AddTaskAsync(new SendMessageTask(new SendMessagePayload()
|
|
{
|
|
From = "John", To = "Esther", Message = msg
|
|
}));
|
|
await taskRepository.AddTaskAsync(new OtherMessageTask(msg));
|
|
|
|
return new OkResult();
|
|
}
|
|
|
|
return new OkResult();
|
|
});
|
|
|
|
app.Run(); |