2009-10-05 66 views
0

我創建了一個網站,它從XML文件加載一個問題池,併爲我的用戶生成一個隨機測試來練習考試。有些測試需要一段時間才能完成,而且他們可能無法一次完成所有測試,所以我希望人們能夠稍後回來並在多次會話中完成測試。問題是,我想要做到這一點,而不需要用戶通過註冊/登錄過程。我只是想將隨機化練習測試的當前狀態存儲在某個地方,然後以某種方式回到它並在他們離開的地方繼續進行。如果可以避免的話,其他人不能修改其他人的測試也很重要。記錄用戶進度而不需要登錄asp.net mvc

我目前的計劃是爲每個測試生成一個GUID,將當前狀態的序列化XML存儲在數據庫中,給用戶一個唯一的URL返回並要求用戶在開始/返回時輸入密碼一個測試。一旦他們完成了測試,或者一段時間沒有任何活動,我會銷燬測試以保持數據庫的清潔。

我是否忽視了實現目標的任何問題?在ASP.NET MVC(2)中你還有什麼其他方法可以完成這個任務?

回答

1

當您使用內置的ASP.NET成員系統/個人檔案系統時,您描述的場景與匿名用戶相當。你可以嘗試從那開始。

+0

這基本上就是我想要的,而不需要編寫自定義系統的開銷,謝謝您的建議。 – 2009-10-08 13:25:56

1

在用戶計算機上存在持久性cookie。您可能會將用戶狀態存儲在數據庫中,並在cookie中存儲主鍵,以便稍後識別用戶。當然這種方法有侷限性,可能不適用於你的情況。