如何在没有构造函数的情况下解析 DI

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

我有一个HTTP请求来调用API。从 API 获取响应后,使用

JsonConvert.DeserializeObject
函数将字符串转换为对象。像这样

JsonConvert.DeserializeObject<T>(responseBody);

我的T类需要服务注入。我的问题是如何在使用

JsonConvert.DeserializeObject
初始化类时解决 DI 问题

类似这样的东西来解决服务 DI https://www.nuget.org/packages/Quickwire

我试过了,但没用

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

我找到了解决方案

我创建了新班级

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(); } }

它按预期对我有用

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