@oldnewbie

Как организовать связь между ASP.NET Web API + windows service + SignalR?

Здравствуйте, хотел бы спросить вашего совета по архитектуре системы. Сейчас существует служба (Сервер), которая получает и отправляет сообщения по компорту в устройство, служба также пишет полученные сообщения в базу данных. Есть также толстый клиент, которого служба уведомляет по сокету о том, что в компорте что-то произошло и попало в базу. Толстый клиент сам стучится в базу и извлекает из нее сообщения. Хотим переписать систему под веб-клиентов, но возникли некоторые трудности с понимаем, как это сделать. Интерфейс клиента будет отрисовываться в ASP.NET MVC, как связать сервис с MVC? С одной стороны, можно использовать SignalR, как средство передачи сообщений из MVC в сервис и в обратном направлении, и точно также использовать SignalR для связи веб-интерфейса с MVC и, вроде бы, все выглядит достаточно гладко, но возникает еще один вопрос: нормально ли отправлять сообщения с вебклиентов на сервер через обычные формы(и пользоваться преимуществами встроенных инструментов MVC типа валидации модели), а получать сообщения с сервер через SignalR? - видится смешение REST и RPC, что смущает. Запись в бд может вестись и из службы, и из MVC, следует ли выделить операции с базой в отдельный сервис? Если выделять, то как MVC и служба должны быть связаны с пишущим в базу сервисом?
  • Вопрос задан
  • 431 просмотр
Пригласить эксперта
Ответы на вопрос 2
Почему бы не использовать signalr только для отправки сообщений клиенту, а для общения служб с mvc, rabbitmq?
Ответ написан
Комментировать
Splo1ter
@Splo1ter
.NET Developer (9 years+)
Zyan Communication Framework, на сервисе хост, на ASP.NET MVC клиент. Вот и все.
Если есть большой трафик то RabbitMQ + Mass Transit.
Пишет в базу только сервис. Zyan выступает в качестве фасада.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы