Если я правильно вас понимаю, ваш сервер собирается ответить на какое-то событие, отправив данные вашему клиенту за пределами клиента, сделав запрос / ответ. Это правильно? Если это так, я бы не рекомендовал пытаться держать соединение открытым, если у вас очень небольшое количество клиентов - доступно ограниченное количество соединений, поэтому их открытие может быстро привести к исключению.
Вероятно, самое простое решение - периодически запрашивать у клиентов новые данные. Это позволит вам использовать простой сервер, и вам потребуется всего лишь кодировать поток на клиенте, чтобы запрашивать какие-либо изменения или новую работу раз в минуту или тридцать секунд или в любое другое время.
Если вы действительно хотите, чтобы сервер уведомлял клиентов заблаговременно, без их опроса, вам нужно будет сделать что-то, кроме простого веб-сервера, - вам также придется кодировать и настраивать клиент для принятия. входящие запросы. Это может быть сложно, если ваши клиенты работают за брандмауэрами и тому подобным. Если вы пойдете по этому пути, WCF, вероятно, ваш лучший выбор, поскольку он позволит вам настроить сервер и клиент соответствующим образом.