Asp.net core blazor作用域服务初始化两次
我试图学习asp.net核心,更具体地说是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
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>