Я переписываю программу сервера tcp в ядре .net.
У меня трудности с реализацией моего дизайна.
Сервер имеет три основные функции / службы:
- услуга 1. принимать и управлять клиентскими подключениями
- услуга 2. обрабатывать каждый вид клиентских сообщений и отправлять подтверждающее сообщение
- сервис 3. Отслеживайте неактивных клиентов (клиентов, которые не отправляли сообщений какое-то время) и закрывайте эти соединения.
Я бы хотел, чтобы каждая из этих функций была посвящена IHostedService
.
Но я понятия не имею, как эти службы должны общаться друг с другом.
Эти сервисы зарегистрированы AddHostedService
и, похоже, не могут быть введены.
И я не уверен, что это правильный способ предоставления открытых методов в размещенной службе другим пользователям для вызова.
Самый важный вопрос, который я нашел, это этот .
В моей ситуации это означает, что я должен зарегистрировать одну посредническую службу для каждой из трех служб. Это не кажется чистым способом, потому что эти посредники предназначены только для общения, без смысловых значений ...
Я бы хотел знать, является ли посредник единственным подходом,
или мой дизайн совершенно неверный?