Asp.net core blazor作用域服务初始化两次

Asp.net core blazor作用域服务初始化两次,asp.net-core,blazor-server-side,Asp.net Core,Blazor Server Side,我试图学习asp.net核心,更具体地说是blazor服务器。从文档中可以看出,每个连接将创建一个注册为作用域的服务。我的用户服务构造函数在浏览器中第一次加载页面时运行两次,每次刷新页面时运行两次 我相信这些是代码的适用部分,有必要帮助我确定为什么会发生这种情况。我的问题是如何让它为每个客户端连接创建一个用户服务实例?我在屏幕上得到了正确的输出,但不希望它运行两次 public void ConfigureServices(IServiceCollection services) { s

我试图学习asp.net核心,更具体地说是blazor服务器。从文档中可以看出,每个连接将创建一个注册为作用域的服务。我的用户服务构造函数在浏览器中第一次加载页面时运行两次,每次刷新页面时运行两次

我相信这些是代码的适用部分,有必要帮助我确定为什么会发生这种情况。我的问题是如何让它为每个客户端连接创建一个用户服务实例?我在屏幕上得到了正确的输出,但不希望它运行两次

public void ConfigureServices(IServiceCollection services)
{
    services.AddRazorPages();
    services.AddServerSideBlazor();
    services.AddHttpContextAccessor();
    services.AddDbContext<AWMOPSContext>(options =>
        options.UseSqlServer(Configuration.GetConnectionString("AWMOPSContext")),
        ServiceLifetime.Transient);
    services.AddScoped<UserService>();

}
@page/“
@注入AWMWP.Services.UserService用户;
欢迎@user.Associate.PreferredName@user.Associate.LastName

在使用预渲染时,它会被调用两次。转到
\u Host.cshtml
并将
渲染模式=“ServerPrerendered”
更改为
渲染模式=“Server”
,它将只被调用一次:

<app>
    <component type="typeof(App)" render-mode="Server" />
</app>

@page "/"
@inject AWMWP.Services.UserService user;

<h1>Welcome @user.Associate.PreferredName @user.Associate.LastName</h1>
<app>
    <component type="typeof(App)" render-mode="Server" />
</app>