Försöker att bygga en enkel webshop. Försöker spara ett unikt värde för att det enkelt ska gå att få fram varukorgen. Har provat med Session.SessionID men det blir ett nytt för varje gång man trycker på köp.
Går det att lösa på något sätt eller är det bättre att använda ip-nummret som unikt värde??
".... men det blir ett nytt för varje gång man trycker på köp."
Servern delar ut ett nytt ID då sessionen dör, vilket vanligen inträffar efter 15-20 minuter.
Man kan manipulera detta genom session.abandon för att sessionen ska dö i förtid. Om du får ett nytt sessionID varje gång en kund trycker på köp kanske du ska se över din kod, hellre än att trixa med annan variant. SessionID är bra att hålla koll på olika besökare i en webbshop.
protected void btnAdd_Command(object sender, CommandEventArgs e)
{
try
{
Session["VisitorReference"] = "1"; // vill kvarstå så länge inte klienten är inaktiv > 20 minuter
int prid = Convert.ToInt32(e.CommandArgument.ToString());
String uniqueid = Session.SessionID.ToString();
int unit = 1;
String ip = Request.ServerVariables["REMOTE_ADDR"].ToString();
Basket b = new Basket(prid, uniqueid, unit, ip);
Basket.AddToBasket(b);
}
catch (Exception ex)
{
}
}
Servern delar ut ett nytt ID då sessionen dör, vilket vanligen inträffar efter 15-20 minuter
Ett litet förtydligande bara, den där efter 20 minuter inaktivitet på site (som default), om du inte gör något i 18 minuter och sedan surfar in på sidan, så lever din session i 20 minuter till, alltså totalt 38 minuter...
- M
254 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e