Persistarea Datelor cu ProtectedLocalStorage
În Blazor WebAssembly, ProtectedLocalStorage oferă o metodă sigură pentru a salva și citi date din browser, criptând automat informațiile salvate.
🔐 Ce este ProtectedLocalStorage?
ProtectedLocalStorage face parte din Microsoft.AspNetCore.Components.WebAssembly.ProtectedBrowserStorage. Este un wrapper peste localStorage care folosește protecție criptografică pentru date.
✅ Avantaje
-
Datele sunt stocate local, fără apeluri la server.
-
Sunt criptate automat cu DataProtection.
-
Ideal pentru preferințe de utilizator, teme, valori temporare.
🧪 Exemplu: Salvarea unei teme (light/dark)
1️⃣ Adaugă serviciul în Program.cs
builder.Services.AddScoped<ProtectedLocalStorage>();
2️⃣ Creează un component simplu:
@inject ProtectedLocalStorage localStorage
<h3>Selectează tema:</h3>
<select @onchange="SaveTheme">
<option value="light">Light</option>
<option value="dark">Dark</option>
</select>
<p>Tema curentă: @theme</p>
@code {
private string theme;
protected override async Task OnInitializedAsync()
{
var result = await localStorage.GetAsync<string>("user-theme");
if (result.Success)
{
theme = result.Value;
}
}
private async Task SaveTheme(ChangeEventArgs e)
{
theme = e.Value.ToString();
await localStorage.SetAsync("user-theme", theme);
}
}
🧠 Alte exemple de utilizare:
-
Reținerea limbii alese de utilizator
-
Salvarea unui pas curent dintr-un formular
-
Personalizarea interfeței
🧩 Tips:
-
ProtectedLocalStorage este asincron – nu uita să folosești await.
-
Datele nu se trimit automat către server – doar în browser.
-
Nu este potrivit pentru informații critice sau sensibile permanent.
🔚 Concluzie
ProtectedLocalStorage este ideal pentru scenarii locale simple, dar sigure, în aplicații Blazor WebAssembly. Ușor de implementat și foarte util pentru o experiență personalizată a utilizatorului.