Pourquoi ASP.NET MVC utiliser l'état de session?

Recommandé par le ASP.NET l'équipe à l'utilisation de cache au lieu de la session, nous nous sommes arrêtés à l'aide de session de travail avec le Formulaire modèle de la dernière quelques années. Nous avons donc normalement la session désactivée dans le web.config

<sessionState mode="Off" />

Mais, maintenant, quand je me suis mise à l'essai d'un ASP.NET application MVC avec ce paramètre, il déclenche une erreur dans la classe SessionStateTempDataProvider à l'intérieur du framework mvc, il m'a demandé de tourner sur l'état de la session, je l'ai fait et cela a fonctionné. En regardant la source qu'il utilise session:

//line 20 in SessionStateTempDataProvider.cs
Dictionary<string, object> tempDataDictionary = 
httpContext.Session[TempDataSessionStateKey] as Dictionary<string, object>; 

Alors, pourquoi ils utilisent session ici? Ce qui me manque?

========================================================

Modifier Désolé ne signifie pas pour ce poste à un débat sur la session vs cache, mais plutôt dans le contexte de la ASP.NET MVC, je me demandais juste pourquoi session est utilisée ici. Dans ce post de blog aussi Scott Watermasysk mentionné que la désactivation de session est une bonne pratique, donc je me demandais simplement pourquoi je dois l'activer pour utiliser MVC, à partir d'ici.

  • Pourriez-vous fournir un lien à l'endroit où ils disent "utiliser cache à la place de sessions" , la cause, ils ne sont pas vraiment conçus pour la même chose?
  • Si je me souviens bien je l'ai lu dans le numéro de septembre 2005 de la MSDN magazine. Peut-être que je devrais mot de son mieux, mais nous n'avons tout simplement pas utiliser de session tout à fait.
  • Il a dit: "Conseil: Désactiver l'état de session lorsque vous n'utilisez pas.", il est rare que les sessions ne sont pas utilisés dans un authentifié de la zone.
  • Fourni Scott lien ne fonctionne plus.
  • fixe.
  • En aparté, l'article sur l'état de session trouvé dans le numéro de septembre 2005 de MSDN magazine peut être lu ici - s'il vous plaît noter qu'il se réfère à une version préliminaire de ASP.NET 2.0

InformationsquelleAutor Ray | 2008-12-22