2014-06-05 172 views
0

我得到一個XML作爲字節數組,我期望做的是在順序頁面之間傳遞它。基本上,我收到的XML中包含了供用戶選擇的問題和答案選項。這通常將用於確認用戶的身份。在asp.net頁面之間傳遞XML

基本上是這樣的:

<questions> 
<question> 
    <prompt>In which city is Fresno street?</prompt> 
    <type>city.of.residence</type> 
    <answer>HILLSIDE</answer> 
    <answer>ATLANTA</answer> 
    <answer>ALMO</answer> 
    <answer>None of the above</answer> 
</question> 
<question> 
    <prompt>In which state is Fresno street?</prompt> 
    <type>city.of.residence</type> 
    <answer>HILLSIDE</answer> 
    <answer>ATLANTA</answer> 
    <answer>ALMO</answer> 
    <answer>None of the above</answer> 
</question> 
</questions> 

我的總任務是,在第一頁加載,檢索該XML通過HTTP POST然後提出與解答的第一個問題,答案是由用戶選擇後,他們打了「next」按鈕,下一個問題將出現在xml中供用戶回答。

挑戰在於,如何保持這種XML持久性,以便我可以在多個頁面上對其進行處理?同樣的事情,存儲他們選擇的答案。當他們完成測驗時,我需要發回問題類型並在另一個HTTP Post中回答,因此我需要跟蹤他們正在選擇的答案。

我是新來的asp.net開發,並從我的研究中遇到了一些想法,但沒有一個彈出給我作爲我的場景實用。

會話變量幾乎聽起來像他們會工作,但我們的Web應用程序有一個超時期限,所以變量最終會迷路,我們有多個Web服務器。 XML中的數據可能是保密的,如果它不認爲使用隱藏字段來存儲值的想法起作用,或者這樣做?那麼基本上讓我不得不使用數據庫?對我來說唯一的缺點是我需要爲每個頁面請求執行不斷的讀/寫事務。

做任何你們都有更好的方法,或者我堅持使用上述選項之一?預先感謝您的見解。

+0

你可以使用localstorage嗎? http://stephenwalther.com/archive/2011/01/12/asp-net-and-html5-local-storage – Bit

回答

0

你可以將其存儲在每個用戶的會話,這是安全和頁面之間持續的(雖然不一定參觀之間的長持續時間持久,因爲會話可能會過期或網站可能會被重置。

介紹ASP.Net會話爲WebForms

對於較長期限,但仍然臨時持久性,存儲會話狀態的SQL Server中,using the state server

對於永久持續,您將需要編寫XML到磁盤莫名其妙 - 最簡單的方法可能會是在問題集已被完全解答後,將它撕在SQL Server中的XML字段中。