ASP.net проблема с целостностью данных веб-приложения

#c# #asp.net

#c# #asp.net

Вопрос:

Допустим…

Если мы ASP.net банковское приложение. Когда пользователь нажимает кнопку, с его счета списывается 100 долларов.

Проблема: Что произошло, если пользователь два или три раза нажал на эту кнопку, не дожидаясь первого уведомления, или нажал клавишу F5 / обновить страницу.

Как мы можем предотвратить или получить целостность данных.

Ответ №1:

Если вы используете какой-либо ASP.Net ajax, Postback Ritalin поможет предотвратить многократные обратные отправки.

Ответ №2:

Самый простой способ запретить пользователям отправлять одну и ту же форму несколько раз — это просто отключить кнопку, отправив вашу форму обратно. Таким образом, они не смогут случайно повторно отправить его до обработки страницы.

Кроме того, вам также может помочь передача случайного фрагмента строки вместе с другими переменными формы. В этом случае вы могли бы сравнить строку (наряду с другой информацией), чтобы увидеть, обрабатывали ли вы ранее запрос, в котором были соответствующие данные.

Ответ №3:

Предполагаю / надеюсь, что это какой-то экзаменационный вопрос? В любом случае, вот пара указаний;

изучите транзакции (для суммирования) и, возможно, оптимистичный параллелизм (чтобы избежать изменения того, что было обновлено другими)

удачи!

BR

Дэниел