Основной принцип заключается в том, что вы пытаетесь повторить любую транзакцию, которая не удалась по причине, которая больше не может быть истинной.Таким образом, если транзакция завершается неудачно из-за тупика или плохого соединения с сервером базы данных, вам следует повторить ее несколько раз с перерывом между каждой попыткой. Все это зависит от того, правильно ли определена ваша транзакция .
В зависимости от вашей логики вы сможете реализовать повтор на «уровне запроса страницы».
- Это зависит от того, можно ли безопасно повторить работу, выполняемую запросом страницы, или от полного выполнения запроса страницы, находящегося внутри транзакции базы данных.
- Также подумайте олюбое состояние памяти, которое вы храните на сервере.
- HttpHander, добавленный в конвейер обработки страниц, должен иметь возможность сделать это для всех страниц
Я не думаю, что существует«Магия, которую вы можете использовать» в вашем коде, чтобы разобраться в этом, если у вас не определены четкие транзакции.
Если вы не используете какую-либо транзакцию, вы можете попробовать написать все свои sql, чтобы можно было запускать их любое количество раз, а затем просто иметь собственный подкласс объекта команды, который отключается при необходимости.