Нужно создать приложение под платформу .NET 5
Тогда уж уже 6. .NET 5 скоро end of life настигнет.
Крайне желательно обеспечить отказоустойчивость всего этого дела, то есть даже если вдруг будет какой-то баг, то чтобы можно было легко закодить автоматический перезапуск.
Перезапуск решается не на уровне приложения, а на уровне выше - через systemd/docker/k8s
Они умеют автоматически отслеживать, что твой сервис упал, и перезапускать обратно.
Если сервис может сломаться не падая полностью - смотри на Health checks (
https://docs.microsoft.com/en-us/aspnet/core/host-...)
получать по HTTP
Ну тут очевидно - asp net бери.
Worker Service - это про некоторую работу, которая выполняется в фоне постоянно (например слушатель очереди логичнее делать на нём)
Просто консольное приложение - будет как aspnet, только хуже (если говорить про HttpListener/TcpListener), Придётся самому изобретать AppHost чтобы отслеживать состояние сервиса.
Только не надо это всё на GET-запросах делать) Семантически корректнее будет использовать POST.
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddHttpClient();
var app = builder.Build();
app.MapPost("/value", async ([FromBody] SensorReadings data, [FromServices] HttpClient httpClient) =>
{
// Что-то делаем с полученными данными
await httpClient.PostAsJsonAsync("https://example.com", data);
});
app.Run();
record SensorReadings(Guid SensorId, DateTimeOffset Timestamp, double Value);
Но в принципе, раз у тебя датчики - я бы посмотрел на сочетание mqtt и worker service