ASP.net会话cookie丢失或删除
我有一个ASP.NET 2.0站点,在会话中存储用户的ID以表明他们已登录.在某些情况下,用户似乎没有保持登录状态.我一直在监视Fiddler中的流量,以及一些细节我发现:
>在运行IE7时运行IE7和项目经理的笔记本电脑时,我的笔记本电脑上的问题是100%可重复的.在运行FF的当前笔记本电脑上运行IE7或任何这些笔记本电脑时,问题都不会发生. 什么可能导致这个? 编辑:生产环境包含www.DomainX.com和DomainX.com的域.还存在另一个已知问题,即没有为这两个域设置cookie.这可能是相关的,但是在修复产生之前我无法进行测试. 解决方法
您将需要查看会话状态提供程序,以查看它是否可以在.net应用程序的两个服务器/实例之间工作.如果它们被设置为例如inProc,那么你肯定会遇到这个问题,因为每个会话都将绑定到创建它的线程.相反,您希望将其抽象为两台机器都可以访问的asp.net状态服务,或者甚至更好地使用分布式缓存解决方案,例如Microsoft Velocity项目,它将在两台机器上分配会话以防万一发生故障.
处理此问题的其他一些方法是在负载均衡器上使用粘性会话(不推荐)或转移到无cookie的会话,这会起作用但可能会导致代码中的一些麻烦. 在我们的业务中,我们有一个主服务器和辅助服务器,后面有分布式缓存,这样如果一台机器发生故障,另一台机器可以接管.同样的原则适用于负载平衡,一旦您开始在应用程序池中拥有多台计算机或甚至多个实例,您就必须为此进行编码. 如果您使用Velocity进行会话,请确保您选择用于存储会话的缓存是不可删除的. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net – 如何标签(设置标题)为IIS Express过程?
- asp.net-mvc – 使ASP.NET MVC应用程序Web Farm准备就绪
- asp.net – 从Google财经,雅虎金融或交易所获取股票报价
- ASP.NET(MVC)服务图像
- asp.net – 元素’system.webServer’有无效的子元素’重写
- asp.net-mvc – 是否可能在剃刀中嵌套一个窗体另一个?
- asp.net – 我应该加密URL参数传递的GUID吗?
- asp.net – requestValidationMode 4.5 vs 2.0
- asp.net-mvc – 适当地url编码空间字符
- C# 快速高效率复制对象另一种方式 表达式树
- asp.net-mvc – 菜单上没有添加控制器,无法在MVC
- asp.net-mvc – AspNet上的Kestrel vNext不提供索
- asp.net-mvc – 发布重定向到ASP.NET MVC和验证与
- asp.net – compilation debug =“true”和发布模
- asp.net-mvc-3 – 使用asp.net mvc本地化jquery验
- asp.net – 最早我可以访问global.asax中的一些S
- 如何在实时服务器上调试asp.net应用程序
- asp.net-mvc – 如何在ASP.NET MVC上为GET和POST
- asp.net-mvc – 需要为ASP.NET mvc部署哪些文件?
- asp.net-mvc-3 – ASP.NET MVC3 URL参数解析为nu