asp.net – 由Chrome和FF破坏的会话变量
|
在页面加载的我的asp.net Web应用程序中,我抓取当前页面URL并将其存储在会话变量中以跟踪用户所在的页面,以便他们进入管理区域时可以返回到它,执行一些导航等.然后,他们可以单击返回按钮,并在进入管理员之前进入他们所在的页面. 这一切都适用于IE8;但是在FF和Chrome中,当在管理员中时,返回链接会重定向到我为Web应用程序设置的自定义404页面. 出于测试目的,我使用我的页面加载事件添加了下面编写的代码: Response.Write((string)Session["navurl"]);// displays "http://somedomain.com/customerror/default.aspx" Session["navurl"] = currentUrl;//ex. currentUrl = "http://somedomain.com/contact/" Response.Write((string)Session["navurl"]);//ex. currentUrl = "http://somedomain.com/contact/" 再次,这在IE中没有问题,但在页面加载的FF和Chrome中,会话变量显示404页面链接,并在设置后显示正确的链接.我用fiddler查看发生了什么,Chrome在favicon.ico文件的GET标题中抛出了404,我在这个Web应用程序中没有使用它. 我添加了faviocon文件和site.master文件头部的链接,Chrome和FF现在正常工作;我仍然不确定为什么会这样.任何人都有想法为什么或如何我的会话变量被Chrome或FF覆盖? 作为旁注,我已经通过流程调试步骤,currentUrl是正确的URL. 解决方法好吧,如果您使用.NET处理程序来提供所有页面(即所有文件扩展名),那么当您的浏览器请求favicon.ico(谷歌了解这是什么)时,服务器会失败是有道理的找到它,然后重定向到404.然后将Session变量修改为“最后一页服务”:404.现在,当您渲染管理页面,并查询会话“最后一页服务”时,您会得到什么? “404”. 我建议检查URL以查看它是否在将其存储在会话中之前引用用户可导航的页面 if (IsAUserPage(currentUrl) Session["navurl"] = currentUrl; (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – 使用SharpDevelop构建ASP.NET MVC应用程序的
- asp.net – 哪里是.ASPXAUTH cookie
- 我应该把我的日志文件放在哪里用于asp.net应用程序?
- asp.net-mvc – ASP.NET MVC – 用于ICollection的EditorTe
- asp.net-mvc – 是否有任何基于ASP.NET MVC订阅的入门工具包
- asp.net – Web.Config转换自定义配置部分
- asp.net – 在Global.asax方法中将与Autofac注册的组件的相
- Asp.net Webservice – 使用jquery AJAX安全地调用webservi
- asp.net-mvc – 在IIS6上使用jqGrid和ASP.NET MVC 2找不到P
- asp.net – 使用sql server的Web应用程序中的审计跟踪
- asp.net-mvc – 为什么.NET在MVC asp.net应用程序
- asp.net-mvc – ASP.NET MVC:多个项目错误
- asp.net – 使用CompareValidator控件将用户输入
- ASP.NET Web应用程序(.NET Framework)与ASP.NET核
- asp.net-mvc-4 – htmlHelper与局部视图
- asp.net-mvc – 如何使用启用了延迟加载的Automa
- 为什么ASP.NET框架在响应中添加“X-Powered-By:
- asp.net-mvc – 如何GetBytes()在C#与UTF8编码与
- ASP.NET MVC:什么时候设置Thread.CurrentThread
- asp.net – 如何保护我的AngularJS和Web Api应用
