Я пытаюсь определить, что произойдет, когда мои методы Web API будут вызываться одновременно двумя клиентами. Для того, чтобы сделать это я генерация два запросов асинхронных в Python:ASP.NET Web API 2 Обработка асинхронных запросов
rs = (grequests.post(url, data = json), grequests.post(url, data = json))
grequests.map(rs)
прошу вызвать метод, не асинхронный в моем WebAPI, который меняется мой ресурса, который является экземпляром статического класса. Из того, что я понял, запросы API не должны запускаться одновременно, а это то, что я хочу, так как я не хочу, чтобы эти два запроса мешали друг другу. Однако, если я установил точку прерывания в моем методе API, два запроса, похоже, будут выполняться одновременно (в параллельном режиме). Это приводит к некоторым нежелательным результатам, поскольку два запроса меняют один и тот же ресурс в параллельном режиме.
Есть ли способ убедиться, что веб-API обрабатывает запросы не одновременно?
Заблокируйте свой общий ресурс. –
@BrianDriscoll См. Мое редактирование. Я убедился, что ресурс заблокирован с очередью, однако я все еще получаю помехи между запросами. –
Независимо от того, выполняется ли одновременное выполнение запросов веб-API, как определяется ваш API, он не определяется в коде. Если вы работаете в IIS, ваши запросы будут обрабатываться одновременно отдельными рабочими процессами. Не зная больше о вашем API, я бы сказал, что у вас проблема дизайна, а не проблема с реализацией. –