Сценарий
У меня есть служба Windows, которая отвечает за прослушивание различных вещей и действует соответственно. В большинстве случаев этот сервис каким-либо образом модифицирует базу данных (добавление, удаление и отмена элементов). Это на стороне сервера и не требует участия пользователя. Клиентская сторона довольно проста. Каждый пользователь (5-10) использует приложение для работы с элементами, вставленными службой Windows.
Проблема
Проблема в том, что клиенты работают в отключенном состоянии. Что я подразумеваю под тем, что клиент мог бы перезагрузить свой список элементов, над которыми нужно поработать, и через 5 минут фактически начать свою работу.
Кроме того, из-за различных проблем no требуется административная помощь для установки клиентского приложения. Это исключает библиотеки, такие как NServiceBus (или любая библиотека, требующая использования MSMQ) и WCF (кажется, так, потому что требует использования открытия URL-адресов с использованием netsh http add urcl
.
Я не хочу отправлять сообщения клиентам. Все, что я ищу, - это простой способ заставить службу Windows подсунуть каждому подписанному клиенту команду перезагрузить свой список. Я понимаю, что я мог бы просто создать фоновый поток (или тому подобное) и обновлять каждые n минут, но на самом деле нет смысла делать это (IMO), если ничего не произошло в последние несколько часов.
Редактировать
Исследуя еще немного, я могу использовать для этого необработанные сокеты. Буду обновлять, как только я получу что-то работающее.