2014-06-05 170 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字段中。