Заказ на получение сообщения в WCF

В WCF, каков наилучший / самый простой способ применения определенного порядка получения сообщений? Например, предположим, что клиенты A, B и C одновременно отправляют сообщения X, Y и Z службе, соответственно. На стороне службы служба должна обрабатывать сообщения в определенном порядке, таком как Y, Z, а затем X. Каков наилучший способ обеспечить этот порядок?

Я решил использовать для этого семафоры, но они кажутся слишком низкоуровневыми / подверженными ошибкам. Поэтому мне интересно, есть ли альтернатива этому (например, файлы конфигурации), которую может предоставить WCF.

1 ответ

Я предполагаю, что вы говорите о веб-службе REST или SOAP, созданной с использованием WCF. Невозможно навязать порядок при обработке запроса сервером. Служба WCF будет обрабатывать запросы http, как только они поступят. Это обеспечивается протоколом HTTP, который не может контролировать то, как клиенты отправляют свои HTTP-запросы... Поэтому вы не можете применять семафоры или что-то подобное по HTTP.

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

Надеюсь, я помог!

Другие вопросы по тегам