ASP.NET会话消失/重新出现

时间:2011-01-05 22:11:03

标签: asp.net iis visual-studio-2005 viewstate

我一直在寻找网络,试图找到一些在我面前遇到这个问题的其他人,但是没有人描述我所处的确切情况。其他人已经放弃会议状态,或者他们有简短的会话状态,如5分钟,或类似的东西。然而,我的问题是,我的会话状态变量似乎只有一个回发,跳过下一个回复,并且有时会再次出现在第三个。

您可以登录我的网站:EpicClanWars.com,然后刷新几页,然后在第二或第三个不同的页面之后,您将获得右上方的登录文本框,就像您没有登录一样。但是然后,如果您再次刷新页面,该网站将显示您再次登录。

我假设这与viewstate有关,但我不太了解ASP.NET视图状态或如何解决它。为了支持这一点,我收到了一些错误消息(我遗憾地忽略了为此帖保存),这些消息与MAC问题和viewstate问题有关。

我最近不得不在运行我网站的机器上重新安装操作系统。当我这样做时,我重新安装了visual studio,IIS,SQL Server,一切。在重新安装之前我没有遇到这个问题。我使用的是VS.NET 2005和IIS 7。

这里发生了什么?

1 个答案:

答案 0 :(得分:2)

  

您可以登录我的网站:   EpicClanWars.com然后也许吧   刷新几页,然后再刷新   第2或第3个不同页面,你得到了   登录右上方的文本框   就像你没有登录一样。但是那时候   如果你再次刷新页面,   网站将显示您再次登录。

这是一个缓存问题。从您拥有动态页面并在每个页面上保持登录的那一刻起,您就需要绝对不要在客户端上保留缓存页面。因此,您的客户端只需读取缓存页面,在更新后获取新页面。

在您的页面上,您提供了 www。的dns问题,请查看并将其设置为正常工作。如果你赢了只保留一份副本,你需要将www.epicclanwars.com重定向到epicclanwars.com。这时www.epicclanwars.com,根本就没有工作。

“正在处理”,即将它们保存在内存中在共享环境中不那么准确,如果您的计算机运行在他的极限或者由于任何原因您有很多重新启动池,可能会丢失会话。也许如果你没有解决页面上缓存的问题,也可以考虑在数据库上移动会话。

同时在web.config上查看会话, httpCookies 表单 roleManager ,必须拥有 domain =“epicclanwars。 COM“