我一直在会话中存储诸如用户角色,名称等之类的内容以传递每个页面,我注意到我正在更新的项目一直在通过在每个页面加载时从SQL Server数据库中获取值来进行此操作。
我的问题是,哪个更好的做法是这样做?在Session上这有点烦人,因为除非我创建一个类作为用户容器并从SQL Server提取数据,否则每次页面加载似乎都会给性能带来很大负担,除非我必须做许多空检查。我是否应该继续以会话方式进行操作?似乎更简单,更实用。
编辑。
ASP.NET中也有这种称为成员资格的成员,用于存储用户角色并将其设置在web.config上,但我对此没有做过多的研究
答案 0 :(得分:1)
每次页面加载时,通常都需要从数据库中获取数据–我不明白为什么这通常会影响性能。
在asp.net应用程序上,您可能有许多运行它的池。这意味着您拥有不同的应用程序,每个应用程序都可以随时为您的用户服务。
此外,每个应用程序具有不同的内存,不同的静态数据,并且它们无法一起通信。
这种不同的asp.net应用程序进行通信的一种方式是使用文件,例如数据库。
另一种方法是使用他们引用的一些常见服务-并且有一个会话服务。