在Sql Server Session数据库中存储多个值的有效方法是什么?

Gra*_*per 1 .net c# sql sql-server asp.net

我的aspx页面上有10-12个变量需要存储在SQL服务器会话数据库(负载均衡器环境)中.

存储和检索它们的有效方法是什么?

  1. 将类中的所有内容分组并存储在会话中(我认为这会减少数据库调用的数量)

  2. 在会话中存储每个变量(我认为这将为我存储的每个会话对象进行数据库调用)

你们中的任何人都可以建议我这样做的有效方法吗?

Luk*_*keH 5

它可能在性能方面无关紧要,因此使用任何产生最干净代码的东西.

每个单独的会话项目并不需要一个单独的数据库调用.整个会话在请求开始时从db加载; 然后在请求结束时将整个**会话写回数据库(假设请求未使用只读会话).

由于与自定义对象(序列化数据的大小和/或序列化的CPU成本)相比,本机类型的序列化方式会有轻微的性能差异.与往返数据库的成本相比,这些差异通常较小.


**我必须承认,我实际上无法记住整个会话是写回数据库还是仅记录在当前请求期间添加/修改的项目.