Я создал веб-сайт, который загружает пул вопросов из файла XML и генерирует случайные тесты, чтобы мои пользователи могли практиковаться на экзамене. Некоторым из тестов требуется некоторое время для завершения, и они могут не закончить все это за один присест, поэтому я хотел бы, чтобы люди могли вернуться позже и завершить свои тесты во время нескольких сессий. Суть в том, что я хотел бы сделать это, не требуя от пользователя пройти процесс регистрации / входа в систему. Я просто хочу сохранить текущее состояние рандомизированного практического теста где-нибудь, а потом как-нибудь вернуться к нему и забрать там, где остановился. Также важно, чтобы другие люди не могли изменять тесты других людей, если этого можно избежать.
Мой текущий план состоит в том, чтобы сгенерировать GUID для каждого теста, сохранить сериализованный XML текущего состояния в базе данных, дать пользователю уникальный URL-адрес для возврата и попросить пользователя ввести пароль при запуске / возвращении к тестовое задание. Как только они закончат тест или пройдет определенное время бездействия, я уничтожу тест, чтобы сохранить базу данных в чистоте.
Я пропускаю какие-либо проблемы с достижением моей цели? Какими еще способами вы могли бы выполнить эту задачу в ASP.NET MVC (2)?