Blazor.SessionStorage.WebAssembly
9.0.0
dotnet add package Blazor.SessionStorage.WebAssembly --version 9.0.0
NuGet\Install-Package Blazor.SessionStorage.WebAssembly -Version 9.0.0
<PackageReference Include="Blazor.SessionStorage.WebAssembly" Version="9.0.0" />
paket add Blazor.SessionStorage.WebAssembly --version 9.0.0
#r "nuget: Blazor.SessionStorage.WebAssembly, 9.0.0"
// Install Blazor.SessionStorage.WebAssembly as a Cake Addin #addin nuget:?package=Blazor.SessionStorage.WebAssembly&version=9.0.0 // Install Blazor.SessionStorage.WebAssembly as a Cake Tool #tool nuget:?package=Blazor.SessionStorage.WebAssembly&version=9.0.0
Blazorators: The Source Generated sessionStorage
JavaScript Interop library for Blazor WebAssembly
The Blazor.SessionStorage.WebAssembly
package consumes the Blazor.SourceGenerators
package. It exposes a source generated IStorageService
interface specific to Blazor WebAssembly and the sessionStorage
Web API.
Get started
After the NuGet package is added as a reference, call the AddSessionStorageServices
method to register the ISessionStorageService
service type.
using Microsoft.AspNetCore.Components.Web;
using Microsoft.AspNetCore.Components.WebAssembly.Hosting;
var builder = WebAssemblyHostBuilder.CreateDefault(args);
builder.RootComponents.Add<App>("#app");
builder.RootComponents.Add<HeadOutlet>("head::after");
builder.Services.AddScoped(
sp => new HttpClient
{
BaseAddress = new Uri(builder.HostEnvironment.BaseAddress)
});
builder.Services.AddSessionStorageServices();
await builder.Build().RunAsync();
Anywhere needed within your Razor component, or Blazor client code — either @inject
or [Inject]
the ISessionStorageService
type. The interface takes the following shape:
using Blazor.Serialization.Extensions;
using System.Text.Json;
#nullable enable
namespace Microsoft.JSInterop;
/// <summary>
/// Source generated interface definition of the <c>Storage</c> type.
/// </summary>
public interface ISessionStorageService
{
/// <summary>
/// Source generated implementation of <c>window.sessionStorage.clear</c>.
/// <a href="https://developer.mozilla.org/docs/Web/API/Storage/clear"></a>
/// </summary>
void Clear();
/// <summary>
/// Source generated implementation of <c>window.sessionStorage.getItem</c>.
/// <a href="https://developer.mozilla.org/docs/Web/API/Storage/getItem"></a>
/// </summary>
TResult? GetItem<TResult>(string key, JsonSerializerOptions? options = null);
/// <summary>
/// Source generated implementation of <c>window.sessionStorage.key</c>.
/// <a href="https://developer.mozilla.org/docs/Web/API/Storage/key"></a>
/// </summary>
string? Key(double index);
/// <summary>
/// Source generated implementation of <c>window.sessionStorage.removeItem</c>.
/// <a href="https://developer.mozilla.org/docs/Web/API/Storage/removeItem"></a>
/// </summary>
void RemoveItem(string key);
/// <summary>
/// Source generated implementation of <c>window.sessionStorage.setItem</c>.
/// <a href="https://developer.mozilla.org/docs/Web/API/Storage/setItem"></a>
/// </summary>
void SetItem<TArg>(string key, TArg value, JsonSerializerOptions? options = null);
/// <summary>
/// Source generated implementation of <c>window.sessionStorage.length</c>.
/// <a href="https://developer.mozilla.org/docs/Web/API/Storage/length"></a>
/// </summary>
double Length { get; }
}
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. |
-
net8.0
- Blazor.Serialization (>= 9.0.0)
- Microsoft.Extensions.DependencyInjection (>= 8.0.0)
- Microsoft.Extensions.Primitives (>= 8.0.0)
- Microsoft.JSInterop (>= 8.0.0)
-
net9.0
- Blazor.Serialization (>= 9.0.0)
- Microsoft.Extensions.DependencyInjection (>= 9.0.0)
- Microsoft.Extensions.Primitives (>= 9.0.0)
- Microsoft.JSInterop (>= 9.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
9.0.0 | 101 | 11/22/2024 |
8.0.0 | 29,398 | 11/17/2023 |
8.0.0-rc.2.23480.2 | 3,146 | 10/13/2023 |
7.0.3 | 10,099 | 2/15/2023 |
7.0.2 | 262 | 2/7/2023 |
7.0.1 | 306 | 1/24/2023 |
7.0.0 | 319 | 1/11/2023 |
2.0.11 | 4,381 | 10/10/2022 |
2.0.10 | 1,444 | 5/19/2022 |
2.0.9 | 515 | 4/18/2022 |
2.0.8 | 440 | 4/14/2022 |
2.0.7 | 411 | 4/14/2022 |
2.0.6 | 441 | 4/7/2022 |
2.0.5 | 426 | 4/5/2022 |
2.0.2 | 431 | 4/4/2022 |
2.0.1 | 764 | 4/4/2022 |
1.5.0 | 417 | 3/29/2022 |
1.4.5 | 410 | 3/26/2022 |
1.4.3 | 407 | 3/25/2022 |
1.4.2 | 623 | 3/23/2022 |