什么是可取的,将数据集保存在会话中或在每个回发中填充数据集?
这取决于许多因素.如果会话是inproc或状态服务器,通常最好不要在会话内存中保留太多项目,因为它的可伸缩性较低.
如果您的会话驻留在数据库上,则最好只重新查询和重新填充数据集,除非查询的执行成本很高.
不要使用会话!!! 如果用户打开具有不同请求的第二个选项卡,则会话将被重用,结果将不是他/她期望的结果.您可以使用ViewState和Session的组合,但在使用缓存之前,仍然可以在没有任何缓存的情况下测量您可以处理多少.