c# – ASP.NET Core中的Func类型的依赖注入

c# – ASP.NET Core中的Func类型的依赖注入,第1张

概述我正在尝试使用asp.net core 2.0.1为我的DataContext将一个Func注入一个webapi控制器. 在我的Startup.cs中我添加了; services.AddTransient<Func<IDataContext>, Func<DataContext>>(); 然后我在我的控制器构造函数中将此传递给我的服务; private readonly ClientService 我正在尝试使用asp.net core 2.0.1为我的DataContext将一个Func注入一个webAPI控制器.

在我的Startup.cs中我添加了;

services.AddTransIEnt<Func<IDataContext>,Func<DataContext>>();

然后我在我的控制器构造函数中将此传递给我的服务;

private Readonly ClIEntService _service;public ClIEntController(Func<IDataContext> context){     _service = new ClIEntService(context);}

但是,当我运行程序并尝试调用端点时,我收到错误;

InvalIDOperationException: Unable to resolve service for type ‘System.Object’ while attempting to activate ‘System.Func`1[Data.EF.DataContext]’.

为什么这样好?以及如何解决它.

解决方法 你是说Func< IDataContext>应该解析为Func< DataContext>,但是DI容器不知道如何构造Func< DataContext>,所以你需要明确告诉它:

// this assumes IDataContext is already registered in container// if not - register it firstservices.AddTransIEnt<Func<IDataContext>>(cont => () => cont.GetService<IDataContext>());
总结

以上是内存溢出为你收集整理的c# – ASP.NET Core中的Func类型依赖注入全部内容,希望文章能够帮你解决c# – ASP.NET Core中的Func类型的依赖注入所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1230169.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-06
下一篇2022-06-06

发表评论

登录后才能评论

评论列表(0条)

    保存