In our app, when user does a search, data is retrieved from the server and brought over to the client in a new Dataset. We have a rather simple control using an UltraTree bound to a DataTable in a Dataset.
So every time a search happens, we rebind the UltraTree to the DataTable in new Dataset. With that, we expect old references from UltraTree to the DataTable in the old Dataset to be cleared.
Our memory profiler tells us that the UltraTree continues to hold references the DataTable in the old Dataset. This keeps the Dataset from being garbage-collected and it continues living in memory well beyond its useful life.
Is UltraTree holding references to Datatable it was previously bound to a known issue? Are there ways to release the bindings so that references are cleared? We are still on version 7.3 and cannot upgrade.
Thanks!
Hello,
I am just checking about the progress of this issue. Did you solve your issue accordingly to the information that I provided you?
Let me know if you need any further assistance.
Thank you for using Infragistics Components.
Hristo, Thanks for checking back. The Reset() on UltraTree did not help. I could not find the time to create a new project to reprod the problem.
The leak that I am pursuing involves a complete DataSet. I found that UltraTree does not let go of the reference. After I commented that out, I found that there was another one involving use of UltraGrid. I should ask about it in another thread. But in a nutshell, the problem with that is that when I rebind a new DataSet to the UltraGrid, just like the UltraTree, the UltraGrid columns continue holding onto reference to a DataColumn. That results in DataTable and hence the DataSet being referenced and being leaked.
Do you have any other suggestion regarding UltraTree leakage? or is reprod with a sample the only alternative?