我有一个HTTP请求来调用API。从 API 获取响应后,使用
JsonConvert.DeserializeObject
函数将字符串转换为对象。像这样
JsonConvert.DeserializeObject<T>(responseBody);
我的T类需要服务注入。我的问题是如何在使用
JsonConvert.DeserializeObject
初始化类时解决 DI 问题
类似这样的东西来解决服务 DI https://www.nuget.org/packages/Quickwire
我试过了,但没用
我找到了解决方案
我创建了新班级
public class IOC
{
public static IServiceProvider CurrentProvider { get; internal set; }
public static T resolve<T>()
{
return CurrentProvider.GetService<T>();
}
}
然后在program.cs中
var app = builder.Build();
IOC.CurrentProvider =app.Services;
然后像这样建模
公共 IErrorService _errorService { 获取 { 返回 IOC.resolve(); } }
它按预期对我有用