Blazor,注册两个相互依赖的服务

问题描述 投票:0回答:1

我有两个具有接口的服务。我需要将一个注射到另一个中。

这是我在 Program.cs 中注册它们的方法:

builder.Services.AddSingleton<IApiService, ApiService>();
builder.Services.AddSingleton<IDataProvider, DataProvider>();

这是我如何在 DataProvider 中注入 ApiService:

private readonly IApiService _apiService;

public DataProvider(IApiService apiService)
{
    apiService = apiService;
}

当我尝试运行我的代码时,该网站会无限加载,并且不会出现任何错误。我知道它必须与我注册或注入服务的方式有关

我尝试以不同的方式注册它们,例如在注册时创建新实例。

c# asp.net web blazor
1个回答
0
投票

如果没有拼写错误,那么代码应该如下所示。

private readonly IApiService _apiService;

public DataProvider(IApiService apiService)
{
    _apiService = apiService;
}

您会看到更正了您正在设置的变量。

© www.soinside.com 2019 - 2024. All rights reserved.