重定向后ASP.NET会话丢失,但仅限于IE
斜体字是原始帖子,下面的编辑是非斜体
我使用ASP.NET 4.0在C#中编写. if (!db.isValidLogin(userName,passWord)) { //invalid login,show it! //just some code to tell the user invalid credentials } else { //show login successful! //update some items on the screen Session["username"] = userName.ToUpper(); Response.Redirect("/"); } 目前还没有通过SSL,因为它是内部开发. 新信息 尝试关闭每个答案的IE缓存…我决定将sessionID输出到浏览器,以便我可以看到它是什么. 登录和重定向的行为更直接…… 在IE中,只需使用F5刷新浏览器,就会在服务器上创建新会话.每次刷新我都会收到一个新的会话ID. 使用Chrome进行测试除非我调用session.abandon,超时会话或关闭并重新启动浏览器,否则我不会获得新的会话ID. 当用户点击退出时我只调用session.abandon,但是已经注释掉了代码(以防万一),以确保我不会在意外时放弃它. 实际页面刷新之间的某个地方IE正在向服务器呈现新会话…… ARGH. 例如: IE: 使用F5或Ctrl-R刷新: 更新2 我已将站点更改为使用“State Server”进行会话并启动相应的服务…行为没有变化. 回答 由于我的代表很低..这不会让我回答我自己的问题另外3个小时…但这里是.. 我通过反复试验找到了解决办法. 在sessionstate中的InProc和StateServer都有相同的结果,直到我添加“cookieless = true” <sessionState mode="StateServer" cookieless="true" /> 这会导致会话状态在Chrome和IE(问题所在)中保持一致,并且我的会话ID在页面刷新之间不再更改.我无法确定为什么会发生这种情况,但它仍然是固定的..感谢Mike和antinescience的帮助! 解决方法
在sessionstate中的InProc和StateServer都有相同的结果,直到我添加“cookieless = true”
这会导致会话状态在Chrome和IE(问题所在)中保持一致,但它仍然是固定的..感谢Mike和antinescience的帮助! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- iis-6 – IIS 6上的ASP.NET路由
- .net – .ToTitleCase不适用于所有大写字符串
- asp.net-core – 如何使用ASP.NET注册OData 5
- asp.net-mvc-3 – 为什么会话是ASP.NET MVC应用程序的灾难?
- asp.net-mvc – 后退按钮不会导致回发到MVC中的控制器操作
- asp.net – 绑定TemplateItem中CheckBox的Checked属性
- 调试 ASP.NET Core 2.0 源代码
- 如何通过GSM调制解调器从ASP.NET应用程序发送SMS
- 如何更新asp.net网站(刚更改的文件)
- asp.net-mvc – 如何在MVC5中为用户分配角色?
- asp.net-mvc – MVC / Razor – 当有下列括号时,
- asp.net – 如何在WebPage中显示嵌入的Excel文件
- asp.net-mvc-3 – @ Html.ActionLink和@ Html.Di
- asp.net-mvc – Nullable DateTime在调用操作时从
- asp.net-mvc – 有没有办法让RoutePrefix以可选参
- asp.net-mvc – 如果使用LINQ to SQL,还有什么理
- asp.net-mvc – 将模型传递给RedirectToAction()
- asp.net – 来自asp app的流媒体mime类型’appli
- asp.net – 如何在使用Html.TextAreaFor时更改字
- 如何在ASP.net runat =’server’标记中使用传统