Je reçois une erreur de sérialisation en essayant d'utiliser Session State Server au lieu d'InProd. Cependant, je ne peux pas comprendre ce qui cause l'erreur en session. On m'a donné du code à ajouter à la page pour faire une boucle sur l'objet de session et déterminer si chaque élément de celui-ci est sérialisable. Mon problème est que je ne sais pas où placer le code dans la page ASP.NET. Dans le suivi du code, l'erreur apparaît juste après avoir traversé les objets en dehors de la page et non lors de la définition de la session. Il doit y avoir un endroit où je peux placer le code sur la page qui est après que tous les objets de session sont définis mais avant que la page ne se trompe. Où cela serait-il?Emplacement du code pour les objets Session dans l'application ASP.NET
Répondre
Vous pouvez le mettre en pageload, définir un point d'arrêt, puis parcourir le code de désérialisation jusqu'à ce qu'il affiche - cela vous indiquera quel objet n'est pas encore sérialisable et bloque le transiton pour utiliser SQL pour les sessions. C'est difficile à dire sans le code source qui vous a été donné pour tester pour sérialisable.
Il pourrait être utile de réfléchir à ce que vous essayez de faire ici. Étant donné que SQL State Server requiert que les objets soient Serializable, contrairement à InProc, tout objet que vous avez placé dans Session doit être Serializable. Donc, vous voulez valider que tous les objets que vous stockez dans Session sont sérialisables, ou, comme l'a dit l'autre répondeur, déterminer quel objet n'est pas sérialisable et causer les problèmes. Il est assez facile de test whether an object can be Serialized. Vous pouvez utiliser l'exemple de code que vous avez reçu ou simplement créer un test unitaire (ou tester dans un pageload pour votre application si c'est plus facile) qui teste les différents types que vous stockez dans la session en tant que sérialisables.
pageload est trop tôt dans le processus. L'erreur ne se produit pas au moment de la définition de la session mais une fois que la page est prête à être renvoyée. J'ai juste besoin d'un endroit où toutes les sessions sont définies mais avant que ça ne fasse erreur. – user31673
La réponse à cette question consiste à placer le code dans le gestionnaire d'événements SaveStateComplete.
- 1. Emplacement du code dans windows.forms
- 2. Session Hibernate pour suivre les objets
- 3. Déterminez quels objets dans ASP.NET sont utilisés dans la session
- 4. remplacement des objets de session asp.net
- 5. Objets de cache de données et de session dans ASP.Net
- 6. Générer du code SQL pour les objets POCO?
- 7. emplacement standard des ressources non-code pour les paquets python
- 8. Comment conserver les objets XML de session?
- 9. Objets persistants dans ASP.NET
- 10. ASP.NET MVC: emplacement correct pour les vues partielles?
- 11. Code pour créer du code CAPTCHA dans ASP.NET?
- 12. asp.net help ressource emplacement
- 13. objets de session sharepoint invalide
- 14. ASP.NET et les objets
- 15. session dans asp.net?
- 16. Fichiers de configuration pour les objets GAC
- 17. ASP.Net MVC - Objets Null dans les vues
- 18. Session jQuery dans ASP.NET
- 19. Session pour un onglet dans ASP.NET
- 20. ASP.NET session état du serveur - Enregistrement des données en desordre
- 21. Où devons-nous gérer les objets de session dans une application ASP.NET?
- 22. Mode session dans ASP.Net?
- 23. Emplacement du code source "VB.NET", similaire à Java JDK src.zip
- 24. Exécution du code identique sur 2 objets
- 25. Emplacement du journal dans db2
- 26. Session dans Asp.net
- 27. Comment effacer l'état de session SQL pour tous les utilisateurs dans ASP.NET
- 28. Objets de session dans Intercepteurs de couture
- 29. ASP.Net MVC Architecture - Emplacement de ViewModels
- 30. Mise en forme du code dans Visual Studio pour ASP.NET
Obtenez-vous un stacktrace lorsque cela se produit? Cela fournit généralement des informations supplémentaires. –
Je ne peux pas dire à partir de l'exception où la session est définie et je ne peux pas le trouver dans le code. C'est pourquoi j'ai besoin de vérifier l'objet de session. – user31673