刷新页面时再次初始化Blazor Server Scoped

时间:2020-07-23 16:26:18

标签: c# blazor blazor-server-side

我创建了一个简单的Blazor Server应用程序: 组件中将注入“ UserSettings.cs”类。

     public class UserSettings
     {
         public Guid Id{ get; } = Guid.NewGuid();
     }
 
     services.AddScoped<UserSettings>();

我在不同组件中的UserSetting Service中显示ID。 切换组件后,Id保持不变,但是当我刷新页面时,它会更改。 为什么刷新页面时服务会再次初始化?

1 个答案:

答案 0 :(得分:0)

您的服务仅限于电路连接...刷新页面时,将创建一个新的电路对象。您可以改用AddSingleton,但在这种情况下,所有用户都可以看到相同的ID。

为什么在首次呈现您的App时不创建ID,然后将其保存在会话存储或本地存储中以供使用?