ASP.NET session 消失/重新出现

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

我一直在网上寻找,试图找到在我之前遇到过这个问题的其他人,但没有人描述我所处的确切情况。其他人已经放弃了 session 状态,或者他们已经简短的 session 状态如 5 分钟或类似性质的内容。然而,我的问题是,我的 session 状态变量似乎存在一次回发,跳过下一个回发,有时又出现第三次回发。

您可以登录我的网站:EpicClanWars.com然后也许刷新几个页面,然后在第二个或第三个不同的页面之后,您会在右上角看到登录文本框,就像您尚未登录一样。但是如果您再次刷新页面,该网站将显示您已登录再次进入。

我假设这与 View 状态有关,但我对 ASP.NET View 状态或如何解决它不太了解。为了支持这一点,我收到了几条与 MAC 问题和 View 状态问题有关的错误消息(遗憾的是我忽略了将其保存到这篇文章中)。

我最近不得不在运行我的网站的计算机上重新安装操作系统。当我这样做时,我重新安装了 Visual Studio、IIS、SQL Server 等所有东西。重新安装之前我没有这个问题。我使用的是 VS.NET 2005 和 IIS 7。

这是怎么回事?

最佳答案

You can log into my website: EpicClanWars.com and then maybe refresh a few pages, then after the 2nd or 3rd different page, you get the login text boxes in the upper right like you are not logged in. But then if you refresh the page again, the site will show you as logged in again.

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

在您提供的页面上,www. 也存在 dns 问题,请检查并使其正常工作。如果您只保留一份副本,则需要将 www.epicclanwars.com 重定向到 Epicclanwars.com。此时 www.epicclanwars.com 根本无法运行。

将它们保留在内存中的“进程中”在共享环境中并不那么准确,如果您的计算机在其限制上运行或者您出于任何原因多次重新启动池,则可能会丢失 session 。也许如果您不能解决页面上的缓存问题,还可以考虑将 session 移至数据库上。

还要检查 web.config 中的 session 、httpCookiesformsroleManager,必须具有 domain="epicclanwars. com”

关于ASP.NET session 消失/重新出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4609724/

相关文章:

asp.net - 如何将Visual Studio ASP.NET 5项目发布到Docker Hub?

python - 为什么 IIS 上对 Flask 应用程序的更改会延迟(HTML 内容,如文本、表单等)?

c# - "Find All References"在一个解决方案中损坏

c# - ASP.NET session 大小限制

.net - Visual Studio 调试器在网站根目录下未附加

asp.net-mvc-4 - 使用自定义域而不是 localhost :* in IIS express

visual-studio-2008 - 将 2005 年转换为 2008 年,System.Core 项目问题

c++ - 如何使用 antlr 2.7 编写简单的 Lexer/Parser?

.net - Linq 将复杂类型聚合成一个字符串

iis - 无法加载应用程序或执行命令 'Microsoft.AspNet.Server.Kestrel'