Мы проделали симлярную работу. Если вы собираетесь запрашивать базу данных sql каждые 5 секунд, обязательно используйте хранимую процедуру, оптимизированную для очень быстрой работы. Он не должен обновлять данные без крайней необходимости. Этот подход обычно называется «опросом», и я обнаружил, что он приемлем, если ваш sqlserver иначе не увязнет в слишком большом количестве других вызовов.
В подходах, которые мы использовали, служба Windows, которая выполняет опрос, работает хорошо.
Чтобы сообщить результаты другому приложению, все зависит от того, что делает другое приложение, и какой интерфейс вы можете в него встроить, и как быстро вам нужны результаты. Библиотеки классов WCF от Microsoft предоставляют множество реальных подходов для общения в реальном времени. Я предпочитаю писать в базу данных приложений, а затем делать, чтобы приложение считывало данные (если это работает для этого приложения). Если вам нужно что-то в режиме реального времени, WCF - это путь, и я бы предложил использовать протокол без сохранения состояния, такой как http, если требуется время отклика <5 секунд, (с использованием стандартных сообщений HTTP), или TCP / IP, если время отклика составляет менее секунды требуется. </p>