0

我已经阅读了很多关于在会话/视图状态中存储数据表/集的内容,并且普遍的共识似乎是这不是一个好主意,因为它会减慢网页速度..但它有它的优势.. 现在我正在制作一个允许用户的网站创建/管理/主持测验..我想从数据库中检索一定数量的问题(将定义问题的值)并将其存储在会话中维护的数据表中......最大。没有问题应该是 120.. 所以要存储在会话中的总数据 = 120 个问题 + 选项 + 正确答案;以及其他小事,例如候选人分数和用户数据

我的问题是:考虑到最大问题数为 120,这么多数据是否会严重影响我页面的性能,如果是这样,请告诉我另一种方法...谢谢。

4

2 回答 2

0

视图状态当然不是存储此类数据的好地方,因为数据集将被序列化为(非常长的)字符串并随每个请求发送到客户端。一般来说,我会尽可能避免视图状态(在我看来,它的缺点远多于优点)。

只要您使用进程内会话模式,将数据集存储在会话中就可以了。在这种情况下,会话数据保存在内存中,这种方法的唯一缺点(我认为它没有详细说明您的任务)是有时您可能会考虑释放目前不需要的内存。如果您使用 SQL Server 存储会话数据,我会选择另一个存储,因为在这种情况下对您的数据集进行序列化/反序列化可能会对应用程序性能产生影响。

于 2013-08-21T07:55:55.337 回答
0

这取决于您想对应用程序施加限制的位置。

将数据存储在内存中会将应用程序限制为一定数量的同时用户。

每次从数据库中获取数据都会降低应用程序每秒可以处理的请求数。

与任何优化一样,您应该只在知道需要什么时进行优化,所以我建议您只从数据库中获取数据,并在实际需要时添加缓存。

于 2013-08-21T07:56:14.363 回答