Persistarea Datelor cu ProtectedLocalStorage

  • Doru Bulubasa
  • 23 May 2025

Î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.

🤖 Întreabă AI despre acest articol

AI Răspuns generat de AI pe baza acestui articol.
AI scrie răspunsul…

Scrie un comentariu

Adresa de mail nu va fi publicata. Campurile obligatorii sunt marcate cu *