Avatar billede jokkejensen Novice
02. maj 2006 - 21:00 Der er 5 kommentarer og
1 løsning

C# Mine cookies forsvinder, why ?

Hej, jeg har lidt problemer med at få mine cookies til at blive gemt ordentligt..

når jeg logger ind gemmer jeg 2 cookies, et kodeord og et login.. Efter postback, og jeg trykker F5 kan jeg se de eksisterer vha trace.axd..

Men lukker jeg browseren og går ind på samme side er de væk. Selvom jeg med sesssionen kørende der indeholder cookiene, åbner en ny session og går til samme side, eksisterer de heller ikke her.. De blir altså okay sat når jeg logger ind, men når jeg går til en ny side, eller åbner en ny session forsvinder de.. De overlever kun postback og f5 tryk.

setCookie bliver kun kørt ved klik på login knappen.

    public static string readCookie(string key)
    {
        string s = String.Empty;
           
        s = HttpContext.Current.Response.Cookies[key].Value;

        return s;
    }
   
    public static void setCookie(string key, string value)
    {
        HttpCookie cookie = HttpContext.Current.Request.Cookies[key];

            if (cookie == null)
            {
                cookie = new HttpCookie(key);
                cookie.Expires = DateTime.Now.AddMonths(12);

            }
            else if(!cookie.Value.Equals(value))
            {
              cookie.Value = value;
              cookie.Expires = DateTime.Now.AddMonths(12);
            }
            else
            {
                cookie.Expires = DateTime.Now.AddMonths(12);
            }

            cookie.Values[key] = value;

            HttpContext.Current.Response.Cookies.Add(cookie);

    }

nogen der har et bud ? .. det er asp.net 2.0 afviklet på den developer webserver..

På forhånd tak

/JJ
Avatar billede driis Nybegynder
02. maj 2006 - 21:06 #1
Gæt: Du skal læse fra Request objektet i readCookie. Brugerens browser laver jo et http request, hvor den sender de cookies med, den måtte have gemt for domænet.
Avatar billede jokkejensen Novice
02. maj 2006 - 21:19 #2
ejhh.. 1000tak :)

Bør jeg så kigge i response før jeg kigger i request ?
Avatar billede jokkejensen Novice
02. maj 2006 - 21:19 #3
smider du ikke lige et svar :)
Avatar billede driis Nybegynder
02. maj 2006 - 22:08 #4
Du bør altid kigge i Request, vil jeg mene. Cookien findes kun i Response i løbet af det postback, hvor den rent faktisk bliver sat.

Glad for at kunne hjælpe ;-)
Avatar billede jokkejensen Novice
02. maj 2006 - 22:18 #5
okay - men hvis jeg sætter samme cookie i et postback, og henter den på siden, vil jeg så ikke få den fra Request ? :)

Ses i morgen :)
Avatar billede driis Nybegynder
02. maj 2006 - 22:23 #6
Det må komme an på en prøve men umiddelbart vil jeg mene at cookie'en kun eksisterer i Request objektet når den er blevet skrevet til klienten, dvs. efter at det postback, hvor den er blevet sat, er fuldført. Men muligvis håndterer ASP .NET den side af sagen bag om ryggen på dig. (Det skulle jo nok være ret simpelt at prøve af) ;-)
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