【发布时间】:2010-04-17 04:45:24
【问题描述】:
我有一个 ASP.NET Web 应用程序,无论出于何种原因,当它部署在任何 IIS 服务器上时,其行为都会像缓存的页面一样并且它根本不会回发到服务器。
例如,导航到登录页面,输入凭据,单击登录按钮,然后返回您进入的登录页面,并清除表单字段。信息未提交回服务器。回发未执行。浏览器似乎只是从缓存中恢复原始页面。
我发现这个article 说我需要在 ASP.NET 会话状态中放置一些东西才能使会话保持有效。
当用户连接到 ASP.NET 应用程序,一个唯一的会话 ID 将 隶属于用户。如果 但是,会话中没有任何内容, 不会向浏览器发送任何 cookie。 这意味着用户将获得一个 下一次新的 url 时新的会话 ID 已打开或页面已刷新。如果 在会话中放置了一些东西 (HttpContext.Current.Session["Hello] = "hello") 但是,ASP.NET 会发出一个 名为 ASP.NET_SessionId 的 cookie。这个 cookie 包含用户的会话 ID 并且 cookie 将在最后过期 会话(当你关闭你的 浏览器)。
我会尝试那篇文章的建议,因为我没有在会话中存储任何内容。
我还在页面中添加了过期标题:
Response.Cache.SetExpires(DateTime.UtcNow.AddMinutes(-1))
Response.Cache.SetCacheability(HttpCacheability.NoCache)
Response.Cache.SetNoStore()
并在 html 中放置一些元标记:
<meta http-equiv="pragma" content="no-cache" />
<meta http-equiv="cache-control" content="no-cache" />
关于此行为的原因可能是什么其他想法?
【问题讨论】:
-
您能发布一些执行实际处理的 aspx 和代码隐藏代码吗?
标签: asp.net