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