不同页面如何只需登录一次,不用Session

jstzcl007 2015-05-31 12:56:28
设计某网站,具有用户登录功能.我在第1窗口中打开网站,点击链接在第2窗口中打开链接,然后在第2窗口中登录完成.回到第1窗口仍是未登录状态,这时不需要再次登录,只需刷新第1窗口就会显示已登录.
以上效果我在第2窗口中用Session保存已登录的用户名,刷新第1窗口时读取Session值,显示是否登录.
请问还有其他方法达到这一效果吗,我自己做的网站,发到服务器空间上了,但有时刷新页面时无法打开,提示无实例对象,有时就正常.我想是不是Session的原因?
...全文
380 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
於黾 2015-06-01
  • 打赏
  • 举报
回复
先判断session是否为null,再取值
jstzcl007 2015-06-01
  • 打赏
  • 举报
回复
有谁知道吗,还是用cookie
  • 打赏
  • 举报
回复
如果你只是记住“用cookie”这种话,那么我建议你找有经验的、懂得分析asp.net机制来设计程序的程序员来设计程序框架,你只做一些次要的页面开发工作。因为只记得一点点只言片语而不理解原理的话,会不断犯错,而且会在关键的时刻爆发出问题来。
  • 打赏
  • 举报
回复
引用 5 楼 z22708387 的回复:
用全局变量.
Session都丢失了,全局变量自然也是空的啊。
  • 打赏
  • 举报
回复
引用 楼主 jstzcl007 的回复:
设计某网站,具有用户登录功能.我在第1窗口中打开网站,点击链接在第2窗口中打开链接,然后在第2窗口中登录完成.回到第1窗口仍是未登录状态,这时不需要再次登录,只需刷新第1窗口就会显示已登录. 以上效果我在第2窗口中用Session保存已登录的用户名,刷新第1窗口时读取Session值,显示是否登录. 请问还有其他方法达到这一效果吗,我自己做的网站,发到服务器空间上了,但有时刷新页面时无法打开,提示无实例对象,有时就正常.我想是不是Session的原因?
租的空间,你应该假设每10分钟左右asp.net进程就被“回收了”。由于瞬间重启,Session集合自然就“丢失了”。 你在学习asp.net时有没有听说过“Session丢失”的概念?不是Session过期问题,是“丢失”问题。 在单机、自己的电脑上测试,你可能很难意识到这一普遍存在的“Session丢失”机制。只有在你用自己的程序去修改保存一下web.config文件、碰一下bin下的文件,或者在app_data目录以外的地方删除子目录等等情况下才能碰到。 通常在一个小公司自己的服务器上,这种情况可能也不是特别频繁。但是在租的那些空间上,则频繁碰到这种情况。例如人家可能设置为你的网站连接200个以后就自动回收了,或者占用内存超过200M就自动回收了,等等条件,以便保证服务器上其它上百个空间的稳定和效率。 实际上学习asp.net的人应该基于“Session会丢失的,静态变量值会丢失的”这样的知识,在开发时经常来测试一下你写的程序能不能经得起Session丢失(例如手动把web.config文件加入一个空格,然后保存,然后继续用你的asp.net程序)。如果经不起,那么这个asp.net程序就不合格,需要有经验的程序员返工重新设计程序的应用程序状态管理机制。
z22708387 2015-06-01
  • 打赏
  • 举报
回复
用全局变量.
Ny-6000 2015-06-01
  • 打赏
  • 举报
回复
这是基础功能了. 有session,,cookie,全局变量,甚至页面参数都可以实现,关键看具体应用要求了
cykb518 2015-06-01
  • 打赏
  • 举报
回复
session, 是有可能丢失的,为了解决这个问题,你可以用cookie,或者修改web.config 里面session的存储方式,让session存在客户端。

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧