gpt4 book ai didi

blazor - Blazor 如何管理用户 session ?

转载 作者:行者123 更新时间:2023-12-04 09:45:24 28 4
gpt4 key购买 nike

Blazor 的新手我不确定用户 session 是如何工作的。

我正在尝试使用 Blazor Server Hosting (.NET Core 3.1) 创建一个网站。
我有一项服务来存储这样的客户:

 public class AppData
{
public Customer CurrentCustomer { get; set; }

public AppData()
{
this.CurrentCustomer = new Customer() { IsWebConnected = false };
}
}

在 Startup.cs 上,我添加:
 public void ConfigureServices(IServiceCollection services)
{
services.AddRazorPages();
services.AddServerSideBlazor();

AppData data = new AppData();
services.AddSingleton<Service.AppData>(data);
}

这是什么意思 ?
设置 CurrentCustomer 后(例如使用登录页面),当我在浏览器上启动时,我可以使用不同页面上的相关数据访问它。
但是当我在我的电脑上启动另一个浏览器时,我看到相同的用户集(具有相同的 vaues)。好像是共享的。

我一直在处理旧的 ASP.NET Webform 并且我正在尝试做与 Session (用户进行的一个 session )相同的事情,但它与 Blazor 的方式相同吗?

谢谢你的帮助。

最佳答案

AppData data = new AppData();
services.AddSingleton<Service.AppData>(data);

这将添加一个 Singleton 实例。是的,这是所有用户共享的。不涉及 Cookie。这就像 Application[] WebForms 中的对象。
Session[]没有直接对应物,但有很多解决方案。文档 list them here .

请注意,您应该尽量保持“无状态”,因此请考虑在每次页面初始化时从 Db 中获取数据。

关于blazor - Blazor 如何管理用户 session ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62147623/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com