Кэширование вывода ASP.NET MVC4 для предотвращения дублирования вставок в базу данных

В настоящее время я работаю над веб-приложением ASP.NET MVC4 и в настоящее время работаю над тем, как я могу запретить пользователям вставлять повторяющиеся записи в db, когда пользователь отправляет запись, а затем снова нажимает кнопку «Назад» и снова отправляет те же данные. Я знаю, что это может быть достигнуто с помощью хранимых процедур в БД, но я хочу реализовать эту концепцию с помощью функции кэширования вывода. Не могли бы вы предложить, будет ли этот подход осуществимым и масштабируемым, а также шаги, которые мне нужно предпринять для его реализации.


person Vineet    schedule 06.03.2013    source источник


Ответы (1)


Я знаю, что это может быть достигнуто с помощью хранимых процедур в БД.

Почему так сложно? Просто поместите уникальное ограничение на столбцы, которые вы не хотите дублировать, а затем при вставке записи поймайте соответствующий SqlException, который содержит число, указывающее, что unique constraint has been violated из-за дублирования вставки.

person Darin Dimitrov    schedule 06.03.2013
comment
Да, я знаю, что этого можно легко добиться... но я также заинтересован в том, чтобы выяснить, можем ли мы реализовать эту функциональность с помощью атрибута outputcaching. - person Vineet; 06.03.2013