[C#] zet sessionstate in code behind

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
In diverse pagina's heb ik bewust de sessionstate in de page directive op false staan
code:
1
2
3
<%@Page 
   Language = "C#"  
   EnableSessionState = "False"


Nu wil ik in de Basepage.cs van de masterpage zorgen dat wanneer de pagina een bepaalde querystring heeft dat de sessionstate op true komt staan.
Dat doe ik op de volgende manier:
code:
1
2
3
4
5
6
 if (!string.IsNullOrEmpty(Request.QueryString["test"]))
 {
System.Configuration.Configuration configuration = WebConfigurationManager.OpenWebConfiguration("");
PagesSection pagesSection = (PagesSection)configuration.GetSection("system.web/pages");
pagesSection.EnableSessionState = PagesEnableSessionState.True;
}


Nu vang ik met
code:
1
if (HttpContext.Current.Session == null)


af of de session niet null is, maar deze blijft null.
Terwijl ik had gehoopt dat deze nu niet null zou zijn.

Acties:
  • 0 Henk 'm!

  • Laurens-R
  • Registratie: December 2002
  • Laatst online: 29-12-2024
Zelf persoonlijk vind ik je aanpak nogal discutabel. Ik zie niet echt een reden waarom je dit zou willen. Als het je om de performance gaat, kan je nog beter de viewstates van je controls en/of page tweaken. Tenzij je echt hele nare dingen doet zou je Session object nooit echt zwaar beladen moeten zijn.

Maar los daarvan zou het kunnen uitmaken waar je in de ASP.Net pipeline je de beschreven stappen uitvoert.

Hoewel ik het niet getest heb, zou ik me kunnen voorstellen dat je in de PageLoad event al te laat bent met dit soort akties. Ik zou het dan eerder in de PreInit event doen.

[ Voor 28% gewijzigd door Laurens-R op 05-03-2010 14:20 ]


Acties:
  • 0 Henk 'm!

  • Peetman
  • Registratie: Oktober 2001
  • Laatst online: 22:40

Peetman

Tjah....

Waarom zou je je sessionstate op false zetten in specifieke pagina's? Helemaal als je 'm blijkbaar soms wel nodig hebt?

Maar waar heb je de code nu staan? Ik zou me zomaar kunnen voorstellen dat door de volgorde die je nu gebruikt de session soms nog null is als je 'm opvraagt.

Acties:
  • 0 Henk 'm!

  • Maxxi
  • Registratie: Mei 2004
  • Laatst online: 19-04 19:18
Elke keer dat een pagina " EnableSessionState = "False" bevat, en jij niet PagesEnableSessionState.True;
aanzet dan zal hij false blijven.