Session

En session är en tillfällig lagring av data som är kopplad till en användare. Sessionen lagras på servern och är inte tillgänglig för andra användare. Sessionen lagras som en cookie på användarens dator och kan användas för att spara användarinställningar eller temporära värden som används under en session, till exempel varukorgsinformation eller aktuell sida i ett forum.

Innehållsförteckning
  1. Session
    1. TL;DR
    2. Beskrivning
    3. Exempel
      1. Konfigurering av ASP.NET Core för att använda session
      2. Använda sessionen i en controller
      3. Använda sessionen i en vy
    4. Obligatorisk Dad-joke

TL;DR

En session i ASP.NET Core är en temporär lagring av data kopplad till en användare. Den används för att spara användarinställningar och temporära värden under en session. Sessionen lagras på servern och kan nås genom en cookie på användarens dator.

Beskrivning

Sessionen möjliggör att vi kan lagra data som är kopplad till en specifik användare. Till exempel kan vi använda sessionen för att spara information om vilka produkter som finns i användarens varukorg. Sessionen kan också användas för att temporärt lagra värden som behövs under en session, såsom vilken sida användaren är på i ett forum.

Genom att använda sessionen kan vi erbjuda en mer anpassad och personlig användarupplevelse genom att spara och hämta användarspecifik information under hela sessionen.

Exempel

Konfigurering av ASP.NET Core för att använda session

För att använda sessionen i ASP.NET Core måste vi först konfigurera applikationen för att stödja sessionen. Detta kan göras genom att lägga till följande kod i Startup.cs:

Efter raden services.AddControllersWithViews();:

builder.Services.AddDistributedMemoryCache();

builder.Services.AddSession(options =>
{
    options.IdleTimeout = TimeSpan.FromSeconds(10);
    options.Cookie.HttpOnly = true;
    options.Cookie.IsEssential = true;
});

Efter raden app.UseRouting();:

app.UseSession();

Använda sessionen i en controller

För att använda sessionen i en controller kan vi tilldela värden till sessionen och hämta värden från sessionen. Här är ett exempel:

public class HomeController : Controller
{
    public IActionResult Index()
    {
        Session["SessionName"] = "SessionValue";
        return View();
    }
}

Använda sessionen i en vy

I en vy kan vi använda sessionen för att visa lagrade värden eller genomföra olika åtgärder baserat på sessionens tillstånd. Här är ett exempel:

@{
    ViewData["Title"] = "Index";
}

<h1>Index</h1>

<p>Session: @Session["SessionName"]</p>

I exemplet ovan har vi en

vy som visar värdet av Session["SessionName"]. Genom att använda @Session["SessionName"] kan vi hämta och visa värdet som tidigare har tilldelats till sessionen.

Obligatorisk Dad-joke

Varför älskar kakor att använda sessions?

För att de får “lagras” i en varm och mysig serverrum! 😄


Till toppen

Licens: Apache 2.0 | © 2023 Marcus Medina, Campus Mölndal. Alla rättigheter förbehållna.
Du får använda och modifiera detta verk enligt villkoren i Apache License, Version 2.0. Du får inte använda detta verk för kommersiella ändamål utan tillstånd från upphovsmannen.