В настоящее время все наши службы WCF обрабатывают тот или иной тип подкачки, когда операция возвращает коллекцию объектов. Однако мы обнаружили, что некоторые операции могут в некоторых сценариях возвращать коллекцию не столь тривиальных объектов, которые в конечном итоге дают ответы, превышающие порог в 64 КБ, который вся документация по передовому опыту просит нас попытаться сохранить для оптимизации базового канала TCP, на котором все работает. .
Например, наш сервис может вернуть список фильмов, показываемых в кинотеатре, и клиент может запросить ежедневные цены, время сеансов и наличие мест для каждого фильма в течение определенного периода времени. ; то есть «дайте мне список показываемых фильмов и ежедневную информацию на следующие 30 дней».
Проблема в том, что мы не можем просто ограничить количество дней, которые клиент может запросить… так что даже если мы ограничить количество фильмов, возвращаемых за один вызов, клиент, запрашивающий информацию в течение 30+ дней, приведет к большому количеству ответов, которых мы должны избегать, насколько это возможно.
Потоковая передача привязка невозможна, поскольку все наши службы являются односторонними с определенным типом очереди в качестве канала.
Какой тип контракта мы можем рассмотреть, чтобы управлять размером этих типов результатов? Конечно, мы также хотим избежать слишком сложных контрактов, в которых есть возможность разбивать на страницы каждый аспект ответа, поскольку это никому не выгодно.
Подробнее здесь: https://stackoverflow.com/questions/261 ... e-payloads
Подкачка WCF для возможных больших полезных нагрузок ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение