Easily use Protected Local & Session Storage, Save List, Get Count etc.. in .NET 8 Blazor - The BEST https://youtu.be/jY-2nR7JLcY
EXAMPLE @page "/"
@rendermode InteractiveServer @using NetcodeHub.Packages.Extensions.LocalStorage @using NetcodeHub.Packages.Extensions.SessionStorage @inject ILocalStorageService localStorageService @inject ISessionStorageService sessionStorageService
Set String Get StringName: @entity.Name
Email: @entity.Email
<button class="btn btn-primary m-2" @onclick="SetModel">Set Model <button class="btn btn-primary m-2" @onclick="GetModel">Get Model
Name: @i.Name
Email: @i.Email
Count: [@Count] <button class="btn btn-primary m-2" @onclick="GetCount">Get Count <button class="btn btn-primary m-2" @onclick="AddItemToLocal">Add Item To Local
@code { string? Content; // Local Storage // Session Storage
// Get and Set String as Unprotected
//==========================================================================================
async Task SetString() => await localStorageService.SaveAsEncryptedStringAsync("key", "Netcode-Hub");
async Task GetString() => Content = (await localStorageService.GetEncryptedItemAsStringAsync("key"));
async Task SetString() => await sessionStorageService.SaveAsEncryptedStringAsync("key", "Netcode-Hub");
async Task GetString() => Content = (await sessionStorageService.GetEncryptedItemAsStringAsync("key"));
Get and Set String as Protected
==========================================================================================
async Task SetString() => await localStorageService.SaveAsEncryptedStringAsync("key", "Netcode-Hub");
async Task GetString() => Content = (await localStorageService.GetEncryptedItemAsStringAsync("key"));
async Task SetString() => await sessionStorageService.SaveAsEncryptedStringAsync("key", "Netcode-Hub");
async Task GetString() => Content = (await sessionStorageService.GetEncryptedItemAsStringAsync("key"));
Entity entity = new();
Entity entity1 = new();
// Get and Set Model as Unprotected
//==========================================================================================
async Task SetModel()
{
entity1.Id = 1;
entity1.Name = "Netcode-Hub";
entity1.Email = "NetcodeHub@gmail.com";
await localStorageService.SaveItemAsModelAsync<Entity>("key", entity1);
}
async Task GetModel() => entity = await localStorageService.GetItemAsModelAsync<Entity>("key");
async Task SetModel()
{
entity1.Id = 1;
entity1.Name = "Netcode-Hub";
entity1.Email = "NetcodeHub@gmail.com";
await sessionStorageService.SaveItemAsModelAsync<Entity>("key", entity1);
}
async Task GetModel() => entity = await sessionStorageService.GetItemAsModelAsync<Entity>("key");
// Get and Set Model as Protected
//==========================================================================================
async Task SetModel()
{
entity1.Id = 1;
entity1.Name = "Netcode-Hub";
entity1.Email = "NetcodeHub@gmail.com";
await localStorageService.SaveEncryptedItemAsModelAsync<Entity>("key", entity1);
}
async Task GetModel() => entity = await localStorageService.GetEncryptedItemAsModelAsync<Entity>("key");
async Task SetModel()
{
entity1.Id = 1;
entity1.Name = "Netcode-Hub";
entity1.Email = "NetcodeHub@gmail.com";
await sessionStorageService.SaveEncryptedItemAsModelAsync<Entity>("key", entity1);
}
async Task GetModel() => entity = await sessionStorageService.GetEncryptedItemAsModelAsync<Entity>("key");
List<Entity> Entities = [];
// Get and Set List<T> as Unprotected
//==========================================================================================
async Task SetListModel()
{
entity1.Id = 1;
entity1.Name = "Netcode-Hub";
entity1.Email = "NetcodeHub@gmail.com";
await localStorageService.AddItemToListAsync<Entity>("key", entity1);
}
async Task GetListModel() => Entities = await localStorageService.GetItemListAsync<Entity>("key");
async Task SetListModel()
{
entity1.Id = 1;
entity1.Name = "Netcode-Hub";
entity1.Email = "NetcodeHub@gmail.com";
await sessionStorageService.AddItemToListAsync<Entity>("key", entity1);
}
async Task GetListModel() => Entities = await sessionStorageService.GetItemListAsync<Entity>("key");
// Get and Set List<T> as Unprotected
//==========================================================================================
async Task SetListModel()
{
entity1.Id = 1;
entity1.Name = "Netcode-Hub";
entity1.Email = "NetcodeHub@gmail.com";
await localStorageService.AddItemToEncryptedListAsync<Entity>("key", entity1);
}
async Task GetListModel() => Entities = await localStorageService.GetEncryptedItemListAsync<Entity>("key");
async Task SetListModel()
{
entity1.Id = 1;
entity1.Name = "Netcode-Hub";
entity1.Email = "NetcodeHub@gmail.com";
await sessionStorageService.AddItemToEncryptedListAsync<Entity>("key", entity1);
}
async Task GetListModel() => Entities = await sessionStorageService.GetEncryptedItemListAsync<Entity>("key");
async Task AddItemToLocal()
{
entity1.Id = 1;
entity1.Name = "Netcode-Hub";
entity1.Email = "NetcodeHub@gmail.com";
await localStorageService.AddItemToListAsync<Entity>("key", entity1);
}
int Count;
async Task GetCount() => Count = await localStorageService.GetItemsCountAsync<Entity>("key");
async Task GetEncryptedCount() => Count = await localStorageService.GetEncryptedItemsCountAsync<Entity>("key");
async Task GetSessionCount() => Count = await sessionStorageService.GetItemsCountAsync<Entity>("key");
async Task DeleteLocalItem() => await localStorageService.DeleteItemAsync("key");
async Task ClearLocalStorage() => await localStorageService.ClearAllItemsAsync();
async Task DeleteSessionItem() => await sessionStorageService.DeleteItemAsync("key");
async Task ClearSessionStorage() => await sessionStorageService.ClearAllItemsAsync();
public class Entity
{
public int Id { get; set; }
public string? Name { get; set; }
public string? Email { get; set; }
}
}
/Follow Netcode-Hub/
https://netcodehub.blogspot.com
https://github.com/Netcode-Hub
https://twitter.com/NetcodeHub | Twitter
https://web.facebook.com/NetcodeHub | Facebook
https://www.linkedin.com/in/netcode-hub-90b188258/ | LinkedIn
/You can buy a coffee for me to support the channel/ ☕️
https://www.buymeacoffee.com/NetcodeHub

PLEASE DO NOT FOGET TO STAR THIS REPOSITORY
