обнаружение повторно отправленных сообщений SOAP - PullRequest
0 голосов
/ 12 июля 2011

У меня есть веб-сайт ASP.NET, который вызывает веб-сервис ASP.NET.
Как я могу обнаружить повторно отправленное сообщение SOAP? Это то, о чем мне нужно беспокоиться, если приложение и служба находятся на .NET и на одном сервере?

Поскольку .NET создает прокси и заботится о деталях SOAP, как вы можете обнаружить повторно отправленные SOAP-сообщения?

1 Ответ

0 голосов
/ 13 июля 2011

Я не могу говорить о специфике ASP.NET, в этой области может быть что-то «волшебное», но в целом ваши веб-службы должны быть спроектированы так, чтобы они были устойчивы к дублированию запросов, если в инфраструктура.

Существует несколько сценариев:

Веб-приложение выполняет сервисный вызов. Делает ли инфраструктура какие-либо попытки повторить попытку, если ответ не приходит в определенное время? Я не знаю, что здесь делает ASP.NET, я предполагаю «нет», но это очень предположение. Также ваше веб-приложение может повторить попытку. В любом случае мы можем получить один и тот же запрос дважды. Любая ответственность за обнаружение дублирующего запроса будет лежать на сервере. Это намного проще, если запрос содержит какую-то уникальную метку.

Второй сценарий - это сценарий «нетерпеливый пользователь». Пользователь нажимает отправить слишком часто. Хорошо разработанное веб-приложение предотвратит это или обнаружит это и не будет повторно отправлять веб-службу. В этом случае Сервис не должен видеть дубликатов.

Более сложный сценарий: «Вы действительно хотели купить два Rolls Royces?» Клиент отправляет запрос, давайте представим, что это запрос высокой стоимости. Затем их компьютер падает, или они теряют связь. Позже, может быть, даже с другого компьютера, пользователь пытается совершить ту же покупку, не осознавая, что первый действительно сработал. Сейчас это трудно заметить, и многие поставщики даже не пытаются, но в некоторых сценариях вам нужно сделать действительно умный сервис с обнаружением дубликатов, являющимся довольно сложным сопоставлением с образцом - для действительно ценных клиентов эти дополнительные усилия могут быть существенными ,

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