Avatar billede kennethjohnsen Nybegynder
07. januar 2010 - 14:14 Der er 1 kommentar

ASP.NET, jQuery og Session-variable

Jeg har et ASP.NET program, der opfører sig meget mærkeligt mht. Session-variable.

Det fungerer på følgende måde:

1) Brugeren trækker med musen, og når knappen slippes, sendes en jQuery-get til en anden ASPX side.

2) I Page_Load på den kaldte side, udføres nogle beregninger, som gemmes i Session-variable.

3) I jQuery get-kaldet, har jeg specificeret en JavaScript function, der skal kaldes ved success.

4) I denne function sender jeg browseren  til den oprindelige side ( window.location = .... ).

Når jeg kører det på min udvikler-maskine, virker det fint, men når jeg lægger det på min rigtige server, kan jeg se, at session-variablene ikke bliver sat, eller har den værdi de havde ved forrige request.

Jeg har læst noget med at session-variable i asp.net ikke gemmes før requesten er slut, og det kan jo være at hele kæden fra jeg slipper musen og laver get'en, til siden indlæses igen, af systemet opfattes som én request, eller ihvertfald som nogle uafsluttede requests.

Hvad kan problemet være, og hvorfor er der forskel på at køre det lokalt, og på serveren?

Evt. forslag til andre løsninger er også velkomne.
Essensen af programmet er, at man fra JavaScript kan kalde noget ASP.NET kode, der udfører noget kode, og gemmer i Session.
Plus selvfølgelig at man kan være sikker på at informationen ligger i session når man genindlæser sin side.

Mvh. Kenneth.
Avatar billede kennethjohnsen Nybegynder
07. januar 2010 - 16:08 #1
Kan det tænkes at serveren opfatter de kald, jeg laver med jQuery, som værende en anden bruger, og derfor en anden session?

Mvh. Kenneth.
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

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