2010-05-27 4 views
0

On m'a dit que MVC 1.0 TempData ne fonctionne pas sous un équilibreur de charge lors de l'utilisation de SQL Server et que c'est parce que le dictionnaire lui-même n'est pas sérialisable.Équilibrage de charge à l'aide de SQL Server et TempData MVC

Nous avons besoin de cela pour un projet et nous cherchons à être capable de charger l'équilibreur de manière efficace.

Donc, je serais très reconnaissant si quelqu'un pouvait répondre aux questions suivantes: Y at-il loin autour de cela afin que vous puissiez le faire fonctionner? Est-ce corrigé dans MVC 2.0? Pouvons-nous créer un ITempDataProvider pour le réparer? Ou est-ce que quelqu'un a corrigé le code source d'un projet qu'il aimerait partager?

Cheers, Jamie

Répondre

2

Le dictionnaire lui-même n'a pas besoin d'être sérialisable. C'est ce que vous stockez à l'intérieur TempData qui doit être sérialisable. Ainsi, par exemple si vous avez la classe suivante

[Serializable] 
public class Foo 
{ 
    public string Bar { get; set; } 
} 

Vous pouvez parfaitement bien utiliser SQL Server pour la persistance de session et d'écrire le code suivant:

TempData["foo"] = new Foo { Bar = "bar" }; 
Session["foo"] = new Foo { Bar = "bar" }; 
0

Mmmm, donc un modèle d'interface utilisateur (ASP.Net MVC) exigerait juste l'attribut Serializable et cela devrait juste fonctionner?

Comment cela fonctionne-t-il pour les listes et les modèles d'interface utilisateur basés sur la collection?

+0

Les classes de collection génériques peuvent être sérialisées tant que le type qu'elles stockent peut être sérialisé. (Notez que normalement vous voudrez ajouter un commentaire ou éditer votre question plutôt que d'ajouter une réponse.) – GalacticCowboy

+0

Bon point! D'accord, je pourrais avoir un coup à cette semaine alors. À votre santé. – Jamie

Questions connexes