
在我的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类型的依赖注入所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)