我必须将数据集存储到会话中,因为我有特定用户的非持久性数据来创建报告。 在我的Global.asax.cs中,我将一个特定的密钥存储到缓存中。此缓存用于报告和报告数据(会话数据集)。 在特定时间之后,报告数据将从缓存中删除,并且在同一方法中,我将使用Session.Remove()从会话中删除数据集。
现在我遇到的问题是我不确定这是否会释放内存,因为如果我将DataSet存储到Session中,那么我将存储引用。 但是,如何完全释放DataSet使用的空间? 如果我认为有一次有20个用户使用这种方法,那么会有很多内存消耗......
答案 0 :(得分:1)
DataSet不包含非托管代码,因此除非您正在做一些时髦的事情,否则无需调用Dispose()。
您正在从会话字典中删除条目,而不是将值设置为null,这会产生完全不同的结果。
虽然我由于缺乏信息而无法明确确认,但我相信你正在做你能做的事情,你无能为力。
您是否真的设法确认这是一个问题,还是您务实?
答案 1 :(得分:-1)
会话变量是黑暗面的路径。会话导致愤怒。愤怒导致仇恨。仇恨导致痛苦。