应用程序重新启动时 Blazor WebAssembly 本地存储为空

问题描述 投票:0回答:1

我在 Blazor 应用程序中使用本地存储,当打开/关闭浏览器时,它可以完美保存。但是当我重新启动应用程序时,我的本地存储突然变空。有什么想法吗?

我尝试在 StackOverflow 和 Google 上查找可能的解决方案,但遗憾的是没有找到任何有用的东西......我希望你们中的一些人可以提供帮助

要保存的代码:

    string? storage = await localStorage.GetItemAsync<string>("cart");
    List<WarehouseItem> orderesItems = new();
    if (storage == null)
    {
        orderesItems.Add(new()
        {
            Id = warehouseItems[0].Id,
            WarehouseId = warehouseItems[0].WarehouseId,
            ItemId = itemId,
            Quantity = 1
        });

        string serializedItem = JsonSerializer.Serialize(orderesItems);
        await localStorage.SetItemAsStringAsync("cart", serializedItem);

要加载的代码:

string? storage = await _localStorage.GetItemAsStringAsync("cart");
if (storage != null)
{
  var storedValue = JsonSerializer.Deserialize<List<WarehouseItem>>(storage);
  CartCount = storedValue.Sum(x => x.Quantity);
}

(不要介意缺少 } 标签,它们确实会关闭)

c# asp.net-core blazor local-storage blazor-webassembly
1个回答
0
投票

更新:发现问题!

运行应用程序时,它会自动打开 Chrome,但处于某种隐身状态,不会保存本地存储。所以!为了解决这个问题,我只需自己打开 Chrome,然后它就登录到我的帐户了:)

© www.soinside.com 2019 - 2024. All rights reserved.