отслеживать прогресс пользователя без входа в систему asp.net mvc - PullRequest
0 голосов
/ 06 октября 2009

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

Мой текущий план состоит в том, чтобы сгенерировать GUID для каждого теста, сохранить сериализованный XML текущего состояния в базе данных, дать пользователю уникальный URL-адрес для возврата и попросить пользователя ввести пароль при запуске / возвращении к тестовое задание. Как только они закончат тест или пройдет определенное время бездействия, я уничтожу тест, чтобы сохранить базу данных в чистоте.

Я пропускаю какие-либо проблемы с достижением моей цели? Какими еще способами вы могли бы выполнить эту задачу в ASP.NET MVC (2)?

Ответы [ 2 ]

1 голос
/ 06 октября 2009

Сценарий, который вы описываете, сопоставим с анонимным пользователем, когда вы используете встроенную систему Membershipsystem / Profilesystem в ASP.NET. Вы можете попробовать начать с этого.

1 голос
/ 06 октября 2009

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...