Avatar billede pfp Nybegynder
23. januar 2006 - 11:20 Der er 9 kommentarer og
1 løsning

Session Timeout

Hej,

Jeg er ved at opbygge en indkøbskurv, som baseres på SessionID der gemmes i databasen. Det har jeg tidligere gjort i bl.a. ASP3..

Jeg har skrevet denne metode:
public void AddToCart(int itemId, int quantity)
        {
            try
            {
                cmd = Database.Command;
                cmd.CommandText = "AddToCart";
                cmd.Parameters.AddWithValue("@ShopId", shopId);
                cmd.Parameters.AddWithValue("@ItemId", itemId);
                cmd.Parameters.AddWithValue("@SessionId", Session.SessionID);
                cmd.Parameters.AddWithValue("@Quantity", quantity);
                cmd.ExecuteNonQuery();

            }
            catch (SqlException ex)
            {
                throw ex;
            }
            finally
            {
                CleanUp();
            }
        }

Ovenstående sørger for at lægge en vare i kurven.

Jeg har dog det problem at min Session tilsyneladende udløber øjeblikkeligt.

Jeg har indsat en post 11:10:48, hvor SessionID = "akyfgqaxo5tcse3qnilv1qvi" - kl. 11:11:13 er SessionID = "5w5ua4jhcrqazp45ifymeg45"

Det giver mig jo et alvorligt problem når jeg skal hente varerne ud fra databasen igen (søgning på SessionID)..

Hvad er det jeg har overset? Er det Session timeout, eller i hvilken retning skal jeg kigge?

På forhånd tak.

/pfp
Avatar billede dr_chaos Nybegynder
23. januar 2006 - 11:31 #1
SessionID skifter prøv at kigge her:
http://66.249.93.104/search?q=cache:2FICCv5SzdkJ:weblogs.asp.net/bsimser/archive/2004/09/13/228713.aspx+Session.SessionID&hl=da
Du skal gemme en unik værdi i en session.
Det er også foreslået hvordan i linket.
Avatar billede pfp Nybegynder
23. januar 2006 - 11:41 #2
Okay, så det er altså markant anderledes end ASP 3.0?

Så hvis jeg forstår det rigtigt, skal jeg skabe en værdi med GUID, og så ellers selv håndtere at gemme/hente fra en session variabel efter behov.
Avatar billede dr_chaos Nybegynder
23. januar 2006 - 12:01 #3
ja.
Bruger du asp.net 2.0 ?
Avatar billede pfp Nybegynder
23. januar 2006 - 12:37 #4
Ja, jeg bruger 2.0
Avatar billede dr_chaos Nybegynder
23. januar 2006 - 12:47 #5
prøv at kigge her:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnvs05/html/userprofiles.asp
der benytter de nogle af de nye ting i asp.net 2.0 til at lave en shopping cart.
Måske kan du bruge det.
Avatar billede pfp Nybegynder
23. januar 2006 - 12:54 #6
Tak for linket, det vil jeg kigge nærmere på.

Jeg har fået det til at virke ved at gemme GUID i Session["GUID"] for hver On_Session_Start

Så smider jeg GUID ned i databasen sammen med ItemId, og når jeg loader indkøbskurven henter jeg alle poster der matcher den GUID der pt. ligger i Session["GUID"]

Det virker, men MS har måske en smartere løsning.
Avatar billede pfp Nybegynder
23. januar 2006 - 12:54 #7
Smider du et svar?
Avatar billede dr_chaos Nybegynder
23. januar 2006 - 12:56 #8
svar :)
profile løsning gør at det er muligt at hente tidligere køb meget nemt og generelt at data er gemt selv hvis man ved en fejl lukket vinduet.
Avatar billede pfp Nybegynder
23. januar 2006 - 13:28 #9
Tak skal du have.
Avatar billede dr_chaos Nybegynder
23. januar 2006 - 13:30 #10
np :)
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