,我檢索一些敏感數據並將其顯示在我的頁面上。
我的目標是儘快將這些數據從堆中取出。我知道將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