Вам необходимо реализовать это на уровне сервиса WCF. Необходимо вести список пользователей, которые вошли в систему, а затем заметить, какие пользователи вышли из системы. Если у вас работает только одна служба WCF, вы можете просто кэшировать информацию на этом компьютере и вернуть список зарегистрированных пользователей в качестве другого метода. Если у вас несколько компьютеров, на которых запущена служба WCF, вам потребуется использовать внутреннюю базу данных для хранения информации, поскольку служба должна быть без сохранения состояния.
Чтобы заметить, когда клиенты аварийно завершают работу или выключают компьютер, вам необходимо добавлять вызов в службу WCF каждые 5 минут. Как пинг, который сообщает службе WCF, что приложения все еще работают и пользователь вошел в систему. Если прошло более 5 минут, ваша служба может предположить, что пользователь вышел из системы.