我有一个显然使用无cookie 会话的asp.net 应用程序。他的所有页面都将会话 ID 显示为 URI 的一部分。我想改变这一点。此应用程序最初是使用 asp.net 1.1 构建的,现在已使用转换向导转换为 asp.net 4.0。
我在 system.web 下添加了 SessionState 标签以强制执行“cookieless=false”。此更改没有任何效果。有人能告诉我应该去哪里看吗?
提前谢谢了
BM
我有一个显然使用无cookie 会话的asp.net 应用程序。他的所有页面都将会话 ID 显示为 URI 的一部分。我想改变这一点。此应用程序最初是使用 asp.net 1.1 构建的,现在已使用转换向导转换为 asp.net 4.0。
我在 system.web 下添加了 SessionState 标签以强制执行“cookieless=false”。此更改没有任何效果。有人能告诉我应该去哪里看吗?
提前谢谢了
BM
将 cookieless 更改为“UseCookies”以将会话存储在 cookie 中。否则会话将嵌入到 URL 中。
这是来自MSDN 站点的更多信息
如果您在 web.config 文件中将 cookieless 设置为 false 并且仍然在 url 中显示 sessionid,则意味着浏览器禁用了 cookie。检查浏览器设置并启用浏览器以接受 cookie。
如果浏览器禁用了 cookie,则无法隐藏 sessionid。但是这里有一些解决方法:
Hide Session Id in URL
默认是使用 cookie 会话。所以只需创建一个新项目并从 web.config 复制会话状态以确保它是干净的。