我有两个具有接口的服务。我需要将一个注射到另一个中。
这是我在 Program.cs 中注册它们的方法:
builder.Services.AddSingleton<IApiService, ApiService>();
builder.Services.AddSingleton<IDataProvider, DataProvider>();
这是我如何在 DataProvider 中注入 ApiService:
private readonly IApiService _apiService;
public DataProvider(IApiService apiService)
{
apiService = apiService;
}
当我尝试运行我的代码时,该网站会无限加载,并且不会出现任何错误。我知道它必须与我注册或注入服务的方式有关
我尝试以不同的方式注册它们,例如在注册时创建新实例。
如果没有拼写错误,那么代码应该如下所示。
private readonly IApiService _apiService;
public DataProvider(IApiService apiService)
{
_apiService = apiService;
}
您会看到更正了您正在设置的变量。