webForumDet fria alternativet

Session.Abandon() funkar inte!

.NET

5 svar · 401 visningar · startad av lucgo446

Medlem sedan aug. 2002221 inlägg
Frågan#1

Session.SessionID förnyas inte som det ska när man använder Session.Abandon();

Varför? funkar det hos er? hur gör jag för att förnya Session.SessionID?

Medlem sedan aug. 2002221 inlägg
#2

Ingen som får till det?

Medlem sedan sep. 20026 425 inlägg
#3

Visa gärna lite av din kod.

Medlem sedan aug. 2002221 inlägg
#4

Jo, jag använder sessionid för varor i webshop-korgen. när kunden har betalt så ska hans sessionid ändras tänkte jag. Annars ligger han varor kvar i webkorgen.

Det går att lösa på andra sätt, men nu är principen att komma fram till varför det inte går att ändra session id. Det går ju i vanlig ASP.

msdn:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemwebsessionstatehttpsessionstateclasssessionidtopic.asp

Medlem sedan juni 2004533 inlägg
#5

Det fungerar alldeles utmärkt för mig.

Ifall du menar att SessionID inte förändras av att du anropar Session.Abandon(), så är det alldeles naturligt. Du kan ju naturligtvis inte avsluta den session som används just nu för att köra sidan. Sessionen avslutas när koden för sidan är färdigkörd.

Medlem sedan aug. 2002221 inlägg
#6

Ja, det funkar ju nu helt utmärkt. jag måste göra nåt annat fel... (nedan funkar fint)

<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<script runat="server">
    void page_load() {
        lblSessionID.Text = Session.SessionID;
    }

    void btnNewSession_Click(object sender, EventArgs e)
    {
        Session.Abandon();
        Response.Redirect(Request.RawUrl);
    }
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Sessionstest</title>
</head>
<body bgcolor="#C2C287" text="#000000" id="all" leftmargin="10" topmargin="10" marginwidth="10" marginheight="10" link="#660000" vlink="#660000" alink="#660000">
    <form id="form1" runat="server">
    <div>
    <asp:label Runat=server ID="lblSessionID"></asp:label>
    <br /><br />
    <asp:Button Runat=server ID="btnNewSession" OnClick="btnNewSession_Click" Text="förnya sessionsid" />
    </div>
    </form>
</body>
</html>
260 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
131 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
130 ms — ändringar (db)