首页 > 解决方案 > “作用域”服务的构造函数被多次调用

问题描述

我们有 Blazor 应用程序,我们在其中配置生命周期范围设置为“Scoped”的服务。出于某种原因,该服务的构造函数被多次调用。有谁知道为什么?

public void ConfigureServices(IServiceCollection services)
{
    services.AddControllers();
    services.AddScoped<IProjectClient, ProjectClient>();
}

ProjectClient 的构造函数被多次调用。任何想法/指针?

标签: c#dependency-injection.net-coreasp.net-core-2.0blazor

解决方案


是的,它被调用了两次,因为您使用的是预渲染。转到_Host.cshtml 并将render-mode="ServerPrerendered" 设置为render-mode="Server",它只会被调用一次。


推荐阅读