У меня есть событие, которому необходимо связаться с некоторыми сторонними поставщиками перед выполнением перенаправления (например, «последняя страница оплаты на сайте электронной коммерции»), и, следовательно, с его обработкой связано некоторое отставание. Очень важно, чтобы с этими сторонними поставщиками не связывались более одного раза, и иногда нетерпеливые пользователи могут попытаться обновить страницу (следовательно, повторно отправив данные). Общая структура кода:
If Session("orderStatus") <> 'processing' Then
Session("orderStatus") = 'processing'
DoThirdPartyStuffThatTakesSomeTime()
Response.Redirect("confirmationPage.asp", True)
End If
Проблема в том, что если пользователь обновляет страницу, response.redirect не происходит (даже если остальная часть кода будет запущена до перенаправления из исходной отправки). Кажется, что новая отправка создает новый поток для браузера, который имеет приоритет - он пропускает этот бит кода, очевидно, чтобы предотвратить повторный контакт со сторонними поставщиками, и, поскольку нет перенаправления, просто возвращается на ту же страницу , Вся вторая заявка может быть завершена до того, как первая заявка закончила свою работу.
Любая помощь в том, как я могу игнорировать все последующие представления страницы, но все равно заставить работать перенаправление ...?
Спасибо