2010-12-14 19 views
5

Dans mon application ASP.NET 4.0, j'ai un gestionnaire d'événements pour PreRequestHandlerExecute dans global.asax.cs.Session est null dans PreRequestHandlerExecute

Je souhaite accéder aux données de la session. La plupart du temps, la session est définie, mais parfois elle est nulle. Quelqu'un peut-il m'expliquer quand il est initialisé et quand il ne l'est pas?

Répondre

4

La session n'est pas chargée pour chaque type de demande par défaut. Si la demande concerne un fichier de contenu (comme une image ou une feuille de style), la session n'est pas chargée. Ceci fait afin de réduire le temps de traitement d'une requête. Si vous travaillez dans le gestionnaire générique (.ashx) et que vous voulez accéder à la session, demandez au gestionnaire d'implémenter IRequiresSessionState.

+0

Voulez-vous dire IRequiresSessionState ou est-ce différent? – Foole

+0

Oui, je fais toujours tourner celui-là. –