asp.net – 什么放在会话变量中

我最近遇到了一个ASP 1.1 Web应用程序,它在会话变量中放入了大量内容包括所有数据库数据对象甚至数据库连接对象.它最终变得巨大.当Web会话超时(用户使用完应用程序四小时后),有时会回滚其数据库事务.我假设这是因为当IIS终止会话时,数据库连接没有正确关闭.

无论如何,我的问题是会话变量应该是什么?显然有些事情需要在那里.用户在主屏幕上选择要编辑的计划,因此计划ID将进入会话变量.通过存储有关用户(及其管理员等)的所有详细信息以及他们在会话变量中编辑的计划来尝试减少数据库负载是否更好?或者我应该尝试最小化会话变量中的内容和在Page_Load事件中查询数据库中我需要的所有内容

解决方法

这很难回答,因为它是特定于应用程序的,但这里有一些我使用的指南:

>尽可能少地参加会议.
>仅在给定访问期间应该持续的用户特定选择是一个不错的选择
>通常,在整个用户访问您的站点时需要访问多个页面的变量(以避免在页面之间传递它们)也很适合放入会话中.

从您对应用程序的说法很少,我可能会从数据库中选择您的数据并尝试找到最小化这些查询的影响而不是加载会话的方法.

相关文章

### 创建一个gRPC服务项目(grpc服务端)和一个 webapi项目(...
一、SiganlR 使用的协议类型 1.websocket即时通讯协议 2.Ser...
.Net 6 WebApi 项目 在Linux系统上 打包成Docker镜像,发布为...
一、 PD简介PowerDesigner 是一个集所有现代建模技术于一身的...
一、存储过程 存储过程就像数据库中运行的方法(函数) 优点:...
一、Ueditor的下载 1、百度编辑器下载地址:http://ueditor....