2016-01-12 1 views
0

J'ai hérité d'un site qui utilise TempData pour renvoyer divers objets d'état de modèle aux méthodes de contrôleur. c'est-à-dire qu'une connexion échouée aura le message d'erreur stocké dans l'objet TempData et relira la mémoire lorsque la méthode d'index sera appelée.État de session ASP.NET et TempData

Tout cela fonctionne très bien si l'état de session est inproc, mais j'implemeted une base de données d'état de session suivant cette https://msdn.microsoft.com/en-us/library/ms229862.aspx

Le site ne redirige pas maintenant la méthode d'index comme autrefois et au lieu de jeter 500 de. J'ai lu à ce sujet et il semble que TempData devrait fonctionner!

Des suggestions sur la façon de creuser dans ce pour trouver le vrai problème ou des indications sur le faire fonctionner?

+1

1. Avez-vous vérifié que le contexte de sécurité sur lequel votre site Web s'exécute peut accéder à la base de données et à ses tables? 2. Vérifiez que vous pouvez persister et récupérer quelque chose de simple comme une chaîne ou un entier en utilisant une méthode/action de test rapide dans votre contrôleur. 3. Si tout le reste fonctionne alors c'est probablement un problème avec la sérialisation/désérialisation de l'objet que vous écrivez/lisez de l'état de session, vérifiez pour vous assurer qu'il est entièrement sérialisable. – Igor

Répondre

1

Vérifiez que les objets sont sérialisables. J'ai rencontré un problème similaire où les travaux inproc et d'autres solutions de session ne le font pas, et il a fallu que les objets ne soient pas entièrement sérialisables.