Я создаю приложение и хочу разделить его на микросервисы. Поскольку я хочу, чтобы микросервисы работали при включении компьютера, в фоновом режиме, независимо от того, кто вошел в компьютер, я создаю 4 службы Windows. Проблема в том, что я хочу, чтобы метод публикации/подписки для обработки событий между службами. Я не хочу команду -> Метод ответов, так как я хочу, чтобы службы заботились только о том, чтобы делать свое дело и уведомление какого -либо подписчика, когда происходит событие. Они не должны блокировать ничего или заботиться, кто подписан. Следовательно, почему я спрашиваю об этом. Я нашел много вещей, которые показывают, как использовать RabbitMQ в веб -приложении, но я не создаю веб -приложение. Другая услуга должна была знать, когда произойдет событие Mappadated, но не нужно imediatly выполнять действие. Aka, Que в порядке, и команда/ответ не требуется.
Служба ниже работает нормально. Но это понятия не имеет о событиях. < /P>
Код: Выделить всё
public sealed class WindowsBackgroundService(
DownloadService downloadService,
ILogger logger) : BackgroundService
{
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
{
try
{
if (!stoppingToken.IsCancellationRequested)
{
await downloadService.DownloadInfoAsync(stoppingToken);
}
}
catch (OperationCanceledException)
{
}
catch (Exception ex)
{
logger.LogError(ex, "{Message}", ex.Message);
Environment.Exit(1);
}
}
}
Подробнее здесь: https://stackoverflow.com/questions/797 ... ws-service
Мобильная версия