Avatar billede gyxi Nybegynder
28. marts 2007 - 13:18 Der er 5 kommentarer og
1 løsning

Direkte anvendelse af SessionState (SQLServer)

SQLServer SessionState er en mekanisme i .NET til automatisk at tage ting som gemmes i session og serialisere dem og persistere dem i en database i en ASPState-database. Den opsættes i konfigurationenen og kan herefter tilgås fra HttpContext.Current.Session ligesom ved almindelig session.

Jeg kunne godt tænke mig at tilgå SQLServer SessionState-mekanismen udenom ovenstående, da jeg skal bruge den i et HttpModule. Derfra kan HttpContext.Current.Session ikke tilgås, men alle oplysninger er faktisk tilgængelige til at anvende session alligevel.

Nogen der ved hvor i .NET-frameworket jeg finder mekanismen til at gemme session i ASPState-tabellen?
Avatar billede snepnet Nybegynder
28. marts 2007 - 17:13 #1
Klassen hedder SqlSessionStateStore, men den er internal.
Den bliver instantieret af et SessionStateModule (som er Sealed), og stilles til rådighed af HttpContext objektet.

Du kan godt tilgå session fra dit eget module... Bare gør det sent nok - f.eks.:

public void Init(HttpApplication application)
{
    application.PostRequestHandlerExecute += new EventHandler(application_PostRequestHandlerExecute);
}

void application_PostRequestHandlerExecute(object sender, EventArgs e)
{
  HttpContext.Current.Session["blah"] = DateTime.Now.Millisecond;
}

Mvh
Avatar billede gyxi Nybegynder
02. april 2007 - 10:20 #2
Det var et ret godt svar på et svært spørgsmål. Så må filerne til StateServer ligge lige i nærheden også. Man kan vel bare nuppe kildekoden og rekompilere med public, ikke?
Avatar billede snepnet Nybegynder
03. april 2007 - 10:17 #3
Mmmm... Er ikke helt sikker på hvad du mener.
Er det ikke godt nok at du kan tilgå den som jeg skrev?
Mvh
Avatar billede gyxi Nybegynder
03. april 2007 - 10:23 #4
Det passer ikke lige til mit formål. Men mange tak for svaret alligevel.

Vil du ikke lægge det som svar?
Avatar billede snepnet Nybegynder
03. april 2007 - 10:40 #5
Hvad er du da du skal siden det ikke går?
(det gemmes jo i en sql-server i dit tilfælde, og den kan jo sådan set altid tilgås - og du kan jo godt bruge koden fra den eksisterende provider).
Mvh
Avatar billede gyxi Nybegynder
03. april 2007 - 10:44 #6
Mit formål er at udnytte .NET's egne klasser - hvad enten det er StateServer eller SQLServer - til at gemme værdier som er delt på tværs af min webfarm. Det er altså strengt taget ikke session jeg vil gemme.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester