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

时间:2011-04-14 00:55:09

标签: c# .net asp.net sql sql-server

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

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

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

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

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

1 个答案:

答案 0 :(得分:5)

在性能方面可能无关紧要,因此请使用能够生成最干净代码的任何内容。

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

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


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