在查询时关闭页面,在新的页面不能打开的问题

jack66wong 2017-10-10 10:46:16
我遇到一种现象,想问一下各位高手,这是什么原因造成的?

现象是,我的WEB应用中有一个模块是查询数据的,由于数据量很大,查询需要的时间比较长,造成有的用户在查询的过程中关闭了浏览器中的这个标签页,然后他在浏览器中打开了一个新的标签页再进行系统的登录,发现登录页面很久打不开,而关闭了整个浏览器后,再打开浏览器就很快能登录了。

我想问下这是什么原因?关闭标签页和关闭浏览器对系统有什么不同的影响?
...全文
209 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
jack66wong 2017-10-10
  • 打赏
  • 举报
回复
@liujian098 由于后台数据库的数据还是挺大的,查询已经优化了,还是要花一点时间的
jack66wong 2017-10-10
  • 打赏
  • 举报
回复
多谢sp1234 的回复,我现在把查询出来的结果没有放在session中,而是临时放在了数据库中,我现在想问一下,如何解决上面说的状况,由于用户关闭了标签页,在新的标签页长时间不能进入登录页面的问题?当然,想登录的用户名和其他一些小量的信息还是使用了session进行缓存的。 我原来做桌面应用比较多,做WEB应用是个新手,请多指教指教!
liujian098 2017-10-10
  • 打赏
  • 举报
回复
引用 3 楼 jack66wong 的回复:
多谢sp1234 的回复,我现在把查询出来的结果没有放在session中,而是临时放在了数据库中,我现在想问一下,如何解决上面说的状况,由于用户关闭了标签页,在新的标签页长时间不能进入登录页面的问题?当然,想登录的用户名和其他一些小量的信息还是使用了session进行缓存的。 我原来做桌面应用比较多,做WEB应用是个新手,请多指教指教!
能优化查询吗?这样让查询速度快起来 ?
  • 打赏
  • 举报
回复
当 asp.net 打开一个页面时,它首先要把 Session 集合中凡是当前 SessionID 对应的数据全都拷贝到请求页面对象;在(1、2秒钟之后)页面对象销毁时则要把 Session 集合中的内容全都拷贝回 asp.net 系统的 Session 集合中。 所以,要尽量少用 Session 集合。不要把你的大量查询数据放到 Session 集合。
  • 打赏
  • 举报
回复
关闭浏览器,然后再打开浏览器,通常就会得到一个不同的 SessionID。 一个页面通常应该在秒级打开。如果明知道一个页面处理时间很长,那么就应该设计为异步的,不应该让业务来卡死界面。对于 asp.net 页面设计来说,异步操作应该是业务上的异步,而不是什么技术上的“线程”概念。比如说你的服务器段应该在任务结束之后才给用户发信息提醒他点击链接看结果,这就是异步设计。

62,072

社区成员

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

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

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

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