Stockage et récupération de données de la session

Comment stocker un datatable en session et récupérer les valeurs de la session dans c # .net?

Ajouter une date dans la session:

DataTable Tissues = new DataTable(); Tissues = dal.returnTissues("TestID", "TestValue");// returnTissues("","") sample function for adding values Session.Add("Tissues", Tissues); 

Retrouver cette datable de session:

 DataTable Tissues = Session["Tissues"] as DataTable 

ou

 DataTable Tissues = (DataTable)Session["Tissues"]; 

ceci est juste une note de côté, mais en général ce que vous voulez faire est de garder la taille sur la session et ViewState petit. En général, je ne stocke que les identifiants et de petites quantités de paquets dans Session et ViewState.

Par exemple, si vous souhaitez transmettre de gros morceaux de données d’une page à une autre, vous pouvez enregistrer un ID dans la chaîne de requête et l’utiliser pour obtenir des données d’une firebase database ou d’un fichier.

PS: mais comme je l’ai dit, cela n’a peut-être aucun rapport avec votre requête 🙂

Pour stocker DataTable en session:

 DataTable dtTest = new DataTable(); Session["dtTest"] = dtTest; 

Pour récupérer DataTable partir de la session:

 DataTable dt = (DataTable) Session["dtTest"]; 

Vous pouvez le faire comme ça, mais stocker un object DataSet dans Session n’est pas très efficace. Si vous avez une application Web avec de nombreux utilisateurs, la mémoire de votre serveur sera rapidement saturée.

Si vous devez vraiment le faire comme ça, je suggère de le retirer de la session dès que vous n’avez plus besoin du DataSet.