我在优化和应用程序设计领域有一个问题。 我正在使用asp.net和sql server构建一个Web应用程序。
在我的一个屏幕中,我必须执行一个生成随机数量的用户ID的操作。我向查看器提供有关所选用户的一些统计信息。如果观众喜欢我想保存的统计数据。
所以基本上我需要保存临时随机数据,如果用户喜欢它,请保留它。
我应该将生成的ID存储在数据库中还是应该将它们存储在会话中?
答案 0 :(得分:3)
好吧,因为你正在生成随机id,所以你正在使用某种伪随机生成器。您是否考虑过为该发电机存储种子的可能性?我最近有类似的问题。其实非常相似。看看:
My Post about Random(int seed)
编辑:在评论中,您建议您在SQL服务器上执行大部分操作。看看以下帖子。此外,您可能需要考虑添加新用户的特殊情况,而您的管理员或任何思考,如果他“喜欢”保存或不保存。在这种情况下,您需要在发出请求时另外存储用户数,并相应地调整随机选择功能。在删除用户的更特殊情况下,无可否认,这种方法毫无用处。
答案 1 :(得分:0)
这取决于您的情况和要求。如果您将数据存储在会话中,那么这很好,但是一旦会话被放弃或结束,您将丢失数据。但是,如果这不重要,意味着您不想永久保存数据,那么存储在会话(临时)中会更好。但是你需要研究性能问题,特别是如果多个用户同时做同样的事情,那将会降低性能。
如果您选择存储在数据库中,那么它也可以工作,但是为了提高性能,您需要决定是启用还是禁用ViewState。
答案 2 :(得分:0)
如果我必须这样做,我将数据存储在sql中的临时表中,这将在每个页面加载事件中删除并重新创建,我在网格中显示数据,从中可以删除并保存所选用户ID