У меня настроено приложение ASP.NET и рабочая роль, и теперь мне интересно, как мне общаться между ними? Я думаю, что идея заключается в том, что решение будет распределено по разным географическим точкам. Итак, как связать распределенные рабочие и веб-роли простым и эффективным способом? Я начал изучать WCF, но мне это кажется излишним и слишком сложным. Еще одна мысль, которая у меня была, — использовать клиент SignalR внутри рабочих ролей для взаимодействия с сервером в веб-ролях.
ИЗМЕНИТЬ:
Точный контекст:
1) Пользователь загружает файл на сервер
2) Сервер отправляет файл в хранилище Azure и добавляет имя файла в CloudQueue.
3) Worker получает имя файла из CloudQueue
4) Worker запускает новый поток, который получает файл из хранилища Azure и начинает его обработку.
5) Worker/Thread отчитывается перед приложением на каждом этапе обработки файла
6) Приложение получает отчеты и использует SignalR для пересылки шагов обработки в браузер клиента в режиме реального времени.
Чего мне не хватает, так это шагов 2 > 3. Как немедленно уведомить Worker о появлении нового файла? Я не хочу опрашивать CloudQueue, потому что это создаст задержки. Также на шагах 5 > 6 Worker должен уведомить приложение о шагах, и это должно быть без задержки, но опять же я не вижу, как в таком случае можно использовать решение для опроса.