将网站状态从一台PC移动到另一台PC

时间:2011-03-22 18:39:37

标签: c# asp.net session serialization

我正在截止日期前开发网页信息中心。我们有兴趣在仪表板完全开发之前制作演示版。它目前没有登录用户的概念。

Web仪表板的状态当前已保存到Session中。我的所有类都是可序列化的,我能够将SessionState模式设置为SQL Server并将Session写入SQL数据库。在一个理想的世界里,我可以用它来达到我的目的,但如果可能的话,我一直无法弄清楚如何。

目标是:“将已保存的Web仪表板状态表示为文本,并能够在另一台计算机上加载仪表板的状态。”我建议的方法是将XML写入文本文件,并能够将该文本文件移动到另一台计算机,指向它,然后再次加载我的状态。

将会话状态写入SQL Server的问题是,当会话到期时(浏览器关闭/超时),我无法将旧数据加载到页面上。如果有办法说“从会话状态 _ 获取数据并将其加载到页面上”我会很高兴。据我所知,这是不可能的。

有关会话状态模式SQL Server的更多信息:http://msdn.microsoft.com/en-us/library/ms178586.aspx

有没有人对此有任何指示或经验?你会做什么很快但你很满意?理想情况下,我会在不超过两天的时间内实施。

谢谢!

1 个答案:

答案 0 :(得分:0)

好的,从你说的话来说:

  1. 用户将访问您的信息中心,更改一些设置,并且您当前正在将其保存到会话中。

  2. 他们注销 - 在其他地方重新登录,您想重新加载他们的偏好。

  3. 您可以将类序列化并将其写入数据库,并将其与用户对齐,而不是仅仅将“状态”保存到会话中。然后,您可以从数据库加载它们,对它们进行反序列化,并在该用户登录时加载它们。

    如果您没有登录用户,也许您可​​以使用“保存状态”按钮,允许他们输入名称,并根据该名称保存状态。然后,他们可以使用“加载状态”按钮来查询数据库的状态。