Я хотел бы иметь возможность расставить приоритеты исходящих данных / сообщений из службы WCF.
Вот основной сценарий:
- Клиент запрашивает у сервера поток данных. Поток данных живой, большой и потенциально бесконечный (данные мониторинга оборудования). Мы назовем это HighPriorityDataStream.
- Клиент запрашивает дополнительные данные. Мы назовем это LowPriorityData.
Пропускная способность ограничена (например, коммутируемый модем или спутник). Очень важно, чтобы текущий HigPriorityDataStream не прерывался или не задерживался при выполнении запроса для LowPriorityData.
У меня уже есть унаследованная система на основе сокетов, где это достигается путем ручного управления порядком размещения данных в буфере сокетов. Данные с высоким приоритетом помещаются в буфер, и если осталось место, данные с более низким приоритетом добавляются для заполнения оставшейся части буфера.
Я пытаюсь перестроить этот процесс с помощью WCF ... Я не знаю каких-либо готовых решений и думаю, что мне может понадобиться написать собственное поведение канала, но я бы хотел выбрать мозги сообщества, прежде чем я пойду по этому пути:)