首页 新闻 会员 周边 捐助

.NET 6 怎么在类中实现依赖注入

0
[已解决问题] 解决于 2022-08-02 22:00

我有应该MVC项目,为了读取appsetting.json 中的数据,我在.NET 6中只能用依赖注入的办法。在controller中实现依赖注入比较简单。

但是,我想在其它的类中实现依赖注入怎么办?

比如,下面的代码,就报错,说 var tgetterInfo = _userInfos.Value; 中的_userInfos需要生成对象:

public class UserService
{
private readonly IOptions<List<String>> _userInfos;
public UserService(IOptions<List<String>> userInfo)
{
_userInfos = userInfo;

    }
    public static bool GetterInfoValidate(String inputInfo)
    {
        if (getterInfo == null || triggerTime < DateTime.UtcNow.AddMinutes(-5))
        {
            var tgetterInfo = _userInfos.Value;
        }

        foreach (var item in getterInfo)
        {
            if (item == inputInfo) return true;
        }

        return false;
    }

}

泰德的主页 泰德 | 初学一级 | 园豆:6
提问于:2022-07-31 04:19
< >
分享
最佳答案
0

UserService 注册到容器了没有啊
不要说框架蠢,多了解一下
https://docs.microsoft.com/zh-cn/aspnet/core/fundamentals/dependency-injection?view=aspnetcore-6.0

奖励园豆:5
拉克斯文 | 菜鸟二级 |园豆:356 | 2022-08-01 16:59

当然注册到容器了

泰德 | 园豆:6 (初学一级) | 2022-08-01 22:48

@泰德: BelowLimit是静态方法,在静态方法里调用实例字段,肯定是null了

拉克斯文 | 园豆:356 (菜鸟二级) | 2022-08-02 08:26
其他回答(1)
0
dudu | 园豆:29568 (高人七级) | 2022-07-31 10:45

已经在Class的构造函数中注入了,但是在类的方法中引用 _userInfos 的时候,说“没有引用到对象的实例”

支持(0) 反对(0) 泰德 | 园豆:6 (初学一级) | 2022-07-31 23:13

为什么微软在.NET Core中,要用这种注入的方法读取配置文件??感觉非常愚蠢

支持(0) 反对(0) 泰德 | 园豆:6 (初学一级) | 2022-07-31 23:16
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册