ASP.NET 5 (de Base): Comment faire pour stocker des objets en session-cache (ISession)?
Je suis en train d'écrire un ASP.NET 5 MVC 6 (Core) de l'application. Maintenant, je suis venu à un point où j'ai besoin de stocker (ensemble et obtenir) un objet à la session de cache (ISession
).
Comme vous le savez, le Set
-méthode de ISession
prend un byte-array
et la Get
-méthode renvoie un.
Dans une base non-application je voudrais utiliser le BinaryFormatter
pour convertir mon objet. Mais comment puis-je le faire dans une application?
OriginalL'auteur evaenrique | 2016-03-14
Vous devez vous connecter pour publier un commentaire.
J'irais avec la sérialisation des objets JSON et utiliser les extensions des méthodes sur
ISession
pour les enregistrer commestring
'.Les méthodes d'extension sur
ISession
sont définis dans leMicrosoft.AspNet(Core).Http
espace de noms.Vous pouvez la lire cette discussion sur la sérialisation binaire sur dotnet dépôt github, et pourquoi il ne sera pas pris en charge.
ma conjecture est qu'il est beaucoup plus performant que les binaires de la (dé)sérialisation sur chaque demande. Vous pourriez envisager d'utiliser protobuf.net qui est un binaire sérialiseur et très rapide.
Merci de m'avoir sur le droit des pistes! Votre contribution a été très utile!
J'ai validé votre "deviner" que le json de conversion est plus performant que les binaires à sérialiser. Vous étiez tout à fait raison. Tandis que pour les objets de grande taille, json(de)sérialiser était seulement un peu plus rapide, pour les petits objets qu'il n'a pris que la moitié du temps binaire(de)sérialiser a pris.
OriginalL'auteur Henk Mollema