,我检索一些敏感数据并将其显示在我的页面上。
我的目标是尽快将这些数据从堆中取出。我知道将dataset变量设置为nothing/null仍然会将数据留在堆中。我发现对于自定义对象,我必须手动清零内容,对于DataSet,我可以调用DataSet.Clear()
。使用ASP.NET和SQL Server 2005从内存中删除数据
这些是最好的方法吗?
这种情况怎么样:
DAL调用SQL,填充数据集,并将数据集(或指向堆中数据集的指针)返回给BLL。然后BLL将该数据集(即指针)返回给UI。 UI将网格的数据源设置为该数据集。何时以及如何清除该数据集?
在Page_Unload中,我是否创建一个新的数据集变量,将网格的数据源设置为它并调用.Clear()?
我的要求并不是真的要在任何时候加密数据,而是在不需要时立即清除数据,无需等待GC或手动呼叫Collect()
。
我很困惑。只有html,css,javascript(以及是viewstate)被发送到浏览器。堆在服务器上,垃圾收集在服务器上。 –
是的,堆在服务器上,这是服务器端的问题。 – user12345