# Session Http

On peut stocker des données dans la session HTTP. Pour cela il faut d'abord la convigurer en rajoutant dans le `Program.cs` (après la ligne `var builder = WebApplication.CreateBuilder(args);`) : 

```csharp
builder.Services.AddDistributedMemoryCache();
builder.Services.AddSession(options =>
{
    options.IdleTimeout = TimeSpan.FromSeconds(10);
    options.Cookie.HttpOnly = true;
    options.Cookie.IsEssential = true;
});
```

Et après `app.UseAuthorization();` : 

```csharp
app.UseSession();
```

Pour enregistrer des données dans la session : 

```csharp
HttpContext.Session.SetString("key", "value");
```

Pour récupérer des données de la session : 

```csharp
string value = HttpContext.Session.GetString("key");
```