Я знаю, что это было задано несколько раз, но большинство (если не всех) решений, которые я видел, связаны с решением javascript
или отключением кнопки формы/отправки, что я не предпочитаю ,Предотвращение дублирования отправки формы MVC 4
У меня есть несколько огромных форм, которые могут потребоваться некоторое время для завершения подачи, что может позволить пользователю повторно отправить много раз во время первого представления, что в конечном итоге приведет к большому количеству записей в базе данных.
Предлагаемое решение:
Предлагаемое решение иметь общий метод, который есть массив, включая все представленные идентификаторы формы, каждый раз, когда пользователь отправить форму, это идентификатор будет добавлен в этот массив если он еще не существует, после того, как подача завершена, идентификатор будет выведен из массива. Недостатком можно считать это решение в случае, если пользователь открыл две или более страницы одной и той же формы и отправил их синхронно, но об этом можно беспокоиться позже.
Мой вопрос в том, насколько реально мое предлагаемое решение и насколько оно хорош собой? и как я могу реализовать этот общий метод?
Я понимаю, что Apache Struts 2
структура имеет какое-то решение, чтобы предотвратить такую вещь (Token Interceptor), как это сделать в MVC 4 ?: