2009-07-22 10 views

Répondre

3

Eh bien, vous n'aurez pas certains des problèmes que vous auriez avec ASP. .net n'est pas STA COM, donc les problèmes d'affinité avec les threads que vous aviez avec ASP ne vous feront pas de mal (sauf si vous essayez de stocker un objet COM STA dans la session, ou dans votre dictionnaire).

Faites cependant attention à l'accès simultané. S'il est possible que plusieurs threads accèdent au dictionnaire (faire un code de page asynchrone, ou peut-être des appels AJAX), vous devrez appliquer un verrouillage approprié au dictionnaire.

+0

Excellent c'est ce que je voulais entendre :-) Les problèmes de threading étaient ma principale préoccupation, la taille réelle des objets stockés dans la session sera minuscule car ils ne sont que rarement utilisés par les administrateurs. –

0

Vous pouvez mettre n'importe quoi dans la session ... Vous devez juste vous assurer que trop de données est mis dans la session car cela prend des ressources de serveur. C'est quelque chose qui ne sera pas visible lorsque vous testerez votre site au début, seulement quand vous le déployez et que beaucoup d'utilisateurs commencent à l'utiliser, car chaque utilisateur a son propre objet Session sur le serveur.

+0

Vous ne pouvez placer que des éléments sérialisables dans la session, un dictionnaire n'est pas sérialisable. – DaveUK

0

Les grands problèmes d'image ne sont pas vraiment différents de ASP classique (bien que j'avoue que je n'ai pas pensé à the differences that JMarsch raised). La réponse dépend de nombreux facteurs:

  • Combien de sessions simultanées que vous attendez (et combien vous avez l'intention de soutenir)
  • La taille de l 'caractéristiques de mémoire Dictionnaire
  • Votre serveur (s)
  • Tout le reste de votre serveur (s) doivent faire
+0

@Jeff: Il existe une différence importante. Avec l'ASP classique, vos objets étaient généralement des objets STA COM, et vous pouvez avoir des problèmes pour les placer dans la session et y accéder lors des postbacks suivants. Vos objets .Net ne sont pas STA COM (sauf si vous les créez explicitement), ils ne sont donc pas soumis aux mêmes problèmes. – JMarsch

+0

Ack, j'ai mis à jour ma réponse pour pointer vers la vôtre. Je suis tenté par ma généralisation boiteuse d'une réponse, mais je pense que je vais la laisser ici pour me rappeler. –

+0

Été là aussi;) – JMarsch

1

Eh bien, cela dépend de ce que vous voulez atteindre, pour des choses simples comme état persistant entre postbacks page, je vous recommande d'utiliser le ViewState.

Questions connexes