Blazor本地存储SetItemAsync在不同页面之间存在竞争条件。
创始人
2024-12-21 01:00:50
0

为了避免Blazor本地存储SetItemAsync在不同页面之间发生竞争条件,可以创建一个服务来控制存储和访问本地存储的代码。

以下是示例代码:

LocalStorageService.cs

public class LocalStorageService
{
    private readonly IJSRuntime _jsRuntime;

    public LocalStorageService(IJSRuntime jsRuntime)
    {
        _jsRuntime = jsRuntime;
    }

    public async Task SetItemAsync(string key, T value)
    {
        var json = JsonSerializer.Serialize(value);
        await _jsRuntime.InvokeVoidAsync("localStorage.setItem", key, json);
    }

    public async Task GetItemAsync(string key)
    {
        var json = await _jsRuntime.InvokeAsync("localStorage.getItem", key);
        return json == null ? default : JsonSerializer.Deserialize(json);
    }
}

使用LocalStorageService:

@inject LocalStorageService LocalStorage

@code {
    private async Task SaveData()
    {
        await LocalStorage.SetItemAsync("myKey", "myValue");
    }

    private async Task LoadData()
    {
        var myValue = await LocalStorage.GetItemAsync("myKey");
    }
}

通过创建LocalStorageService,可以确保在多个页面中对本地存储的访问不会导致竞争条件。

相关内容

热门资讯

WePoKe透明挂!云扑克辅助... WePoKe透明挂!云扑克辅助器真假,(德州之星)本来真的是有挂(详细辅助实用技巧);《WPK辅助透...
透视好友房(WepoKe)透明... 透视好友房(WepoKe)透明挂辅助app(wepoke模拟器)切实有挂(详细透视德州论坛);大神普...
透视科技(wepower辅助器... 透视科技(wepower辅助器)wopoker轻量版外挂(详细辅助实用技巧)本然真的有挂,您好,we...
wpk外挂!wepoke算法,... wpk外挂!wepoke算法,(wepOkE)往昔真的是有挂(详细辅助解密教程)是一款可以让一直输的...
透视玄学(wepOke)外挂透... 透视玄学(wepOke)外挂透明挂辅助神器(wepokeai机器人)固有是有挂(详细透视必备教程);...
透视中牌率(微扑克wpk透视辅... 透视中牌率(微扑克wpk透视辅助)云扑克辅助器日租版(详细辅助详细教程)从来有挂1、许多玩家不知道微...
aapoker有外挂!wpk德... aapoker有外挂!wpk德州ai机器人,(wepOke)从来是有挂(详细透视技巧教程);科技安装...
透视数据(wEpoKe)透视辅... 透视数据(wEpoKe)透视辅助app(wepokeai代打的胜率)好像真的有挂(详细透视AI教程)...
透视好友房(aapoker挂)... 透视好友房(aapoker挂)德州之星辅助器怎么用(详细辅助透明教程)切实是真的有挂;无聊就玩这款德...
aapoker有猫腻!wepo... 您好,aapoker有猫腻这款游戏可以开挂的,确实是有挂的,需要了解加微【136704302】很多玩...