Как справиться с идемпотентностью на сервисном уровне? - PullRequest
0 голосов
/ 09 января 2011

У меня есть SOA-приложение, в котором я хочу включить некоторый механизм идемпотентности на сервисный уровень.Я использую WCF для обмена сообщениями.

Как вы справляетесь с идемпотентностью в своих приложениях?у вас есть пример кода?Моя цель - не допустить, чтобы одно и то же сообщение (например, CreateOrder) обрабатывалось более одного раза (если настроено так).

1 Ответ

1 голос
/ 09 января 2011

идемпотентность - это не обнаружение и остановка обработки сообщения дважды.Это больше связано с тем, что сообщение, обработанное 2 или более раз, имеет одинаковые побочные эффекты.Поэтому вместо операций добавления / создания / обновления у меня будет просто операция Store, которая выполняет как вставку, так и обновление.

Так что в вашем примере CreateOrder просто заставьте клиента передавать guid, который ваша служба вставит, если он это сделает.не существует или не обновляется, если это так.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...