Я написал проект web-api, чтобы действовать как мост/шлюз между двумя подсистемами.C# Web-Api - обработка входящих запросов ', чтобы они были получены'
Мне нужно убедиться, что входящие запросы обрабатываются «в том порядке, в котором они получены». Я не слишком хорошо знаком с тем, как работает web-api и у меня есть проблема:
- Входит входящий запрос, операция запускается и длится 30 секунд.
- В течение 5 секунд после обработки первого запроса и получения второго запроса и его также немедленно обрабатывают.
Причина в том, что пользователь может представить обновление записи, которая будет распространяться на другую подсистему. Однако этот пользователь может по любой причине представить второй запрос. Мне нужно убедиться, что первый запрос завершен первым, до того как будет выполнен последующий запрос. Поэтому, когда запросы запросов наводняются, это всего лишь случай обработки на основе первого, первого обслуживания.
Кто-нибудь знает, работает ли как-то вроде web-api, как это уже, или что мне нужно сделать, чтобы получить такое поведение?
довольно уверен, что такого механизма не существует в веб-API, так как вам нужен какой-то ключ для блокировки других запросов. Тем не менее, для решения вашей проблемы вам понадобится какой-то механизм семафора. Но вы также должны думать о возможных таймаутах в этом случае. –
В зависимости от того, что вы хотите отправить назад пользователю, вы можете поставить очередь запросов и отправить ответ «очереди». Не определен для веб-API, но будет отвечать вашим требованиям. –