Gå til innhold

C#: Feilmelding i forbindelse med sesjonsvariabler


Anbefalte innlegg

Hei, skriver et spill i Visual Web Developer hvor jeg bruker sesjonsvariabler. Det fungerte helt fint i går kveld, men da jeg skulle prøve i morges, fikk jeg en feilmelding i forbindelse med sesjonsvariablene under page_load.

 

Feilmeldingen jeg får i nettleseren ser sånn ut:

Objektreferanse er ikke satt til en objektforekomst.

Beskrivelse: Det oppstod et ubehandlet unntak under kjøring av gjeldende webforespørsel. Gå gjennom stakksporingen hvis du vil ha mer informasjon om feilen og hvor den oppstod i koden. 

Unntaksdetaljer: System.NullReferenceException: Objektreferanse er ikke satt til en objektforekomst.

Kildefeil: 


Linje 23:         btnSparSumSpiller1.Visible = false;
Linje 24:         btnSparSumSpiller2.Visible = false;*/
Linje 25:         midlsumSpiller1 = (int)Session["midlsumSpiller1"];
Linje 26:         midlsumSpiller2 = (int)Session["midlsumSpiller2"];
Linje 27:         totalsumSpiller1 = (int)Session["totalsumSpiller1"];

 

Den første feilen ser ut til å ligge i linje 25 (den er rød).

 

Noen som har vært borti noe lignende før og/eller har noen råd?

Endret av olaven
Lenke til kommentar
Videoannonse
Annonse

usj! Norsk!

 

Uansett, problemet er at du caster til int i Session saken, uten at variabelen er satt.

Gjør noe slikt:

mSpiller1 = (int)(Session["midlsumSpiller1"] ?? 0);
midlsumSpiller2 = (int)(Session["midlsumSpiller2"] ?? 0);
totalsumSpiller1 = (int)(Session["totalsumSpiller1"] ?? 0);

Lenke til kommentar

Tusen takk, har lagt det inn i koden nå.

 

Det viser seg at hvis jeg midlertidig deaktiverer sesjonsvariablene, kjører prosjektet en gang, og så deaktiverer det, fungerer det fint en stund...

 

Får håpe at problemet ikke dukker opp igjen :)

Lenke til kommentar

Kan det tenkes at du sitter å tester akkurat den siden uten å ha vært innom siden som faktisk setter sesjonsvariablene først?

 

Min erfaring er at VWD/VS sin innebygde server sletter sesjoner sånn litt nå og da. Dette gjelder spesiellt hvis den må rekompilere siden du har endret på, av og til... Hvis du da prøver å hente akkurat den siden igjen (refresh i browser f.eks.) så vil ikke sesjonsvariablene dinne inneholde noe data, og den vil feile (evt settes til 0 etter GG's tips).

 

Jeg har gjort det som regel at når jeg starter debug (F5) så åpner den ingen side automatisk. Dette lar meg Logge ut/logge inn hver gang jeg skal teste noe nytt slik at alle variablene blir satt korrekt.

 

-C-

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...