我将XML作为字节数组获取,而我要做的就是在连续页面之间传递它。基本上在我收到的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>
我的一般任务是在第一页加载时,通过HTTP Post检索此XML然后用答案呈现第一个问题,在用户选择了答案后,他们点击&#34; next&#34;按钮和下一个问题将从xml中显示,供用户回答。
面临的挑战是,如何保持这种XML持久性,以便我可以在多个页面上对其进行处理?存储他们选择的答案也是一样的。当他们完成测验后,我需要在另一个HTTP Post中发回问题类型和答案,这样我就需要跟踪用户选择的答案。
我是asp.net开发的新手,从我的研究中发现了一些想法,但没有一个突然出现在我的场景中。
会话变量几乎听起来像它们可以工作,但我们的Web应用程序有一个超时期限,因此变量最终会丢失,我们有多个Web服务器。 XML中的数据可能是保密的,如果它不认为使用隐藏字段来存储值的想法是有效的,或者它是什么?那么这基本上让我不得不使用数据库吗?对我来说唯一不利的是我需要为每个页面请求执行的持续读/写事务。
是否所有人都有更好的方法,或者我是否坚持使用上述选项之一?提前感谢您的见解。
答案 0 :(得分:0)
您可以将其存储在每个用户的会话中,这在页面之间是安全且持久的(尽管在访问之间的长时间内不一定持久,因为会话可能会过期或网站可能会重置。
的ASP.Net会话简介对于较长期但仍为临时持久性,请将会话状态存储在SQL Server using the state server
中对于永久持久性,您需要以某种方式将XML写入磁盘 - 最简单的方法可能是在完全回答问题集后将其存储在SQL Server的XML字段中。
答案 1 :(得分:0)
此处的帖子描述了在页面之间传递数据的6种方法。
有些方法需要将xml转换为字符串。