In realtą uso anche io i relativi (dei dataset creati) datatable, ed ho anche provato a "Cacheizzare" il tutto:

codice:
		Dim dsXLS As New DataSet 
		Dim dtXLS as DataTable
		dtXLS = Cache("dtXLS")
		If dtXLS is Nothing then
			Try
				..creo il dataset e..
				dtXLS = dsXLS.tables(0)
				Cache("dtXLS") = dtXLS 
			Catch
				..errore
			End try
		End if
...e ciclando poi sulle righe del dataTable (dalla cache) faccio altri accessi al DB che riempiono altri DataSet, ma il problema alla fine, analizzando bene č..il DB ! (ancora in fase progettazione).

Non ci sono PostBacks e passeggiate nella History, nč DataGrids.

La veritą č soltanto che sto facendo una operazione troppo pesante per il povero DBServer dell'azienda