首页 新闻 会员 周边

关于Autofac、Repository、DbContext的问题

0
悬赏园豆:100 [已解决问题] 解决于 2014-04-30 11:24

最近学习Repository模式,此示例是比照一个现有的项目简化、修改后的,但访问Grade2/Index页面出现两个问题一直搞不定,搜索很多资料没有类似的形式。可能是依赖注入这块有问题,依赖注入在Global.asax里面。我比照现有的项目和网上一些文章,也没修改好这个问题。哪位有心情能帮我看看修复下这个问题。多谢!

 错误显示:

None of the constructors found with 'Autofac.Core.Activators.Reflection.DefaultConstructorFinder' on type 'RepositoryExample.MyRepository.EfRepository`1[RepositoryExample.Models.Grade]' can be invoked with the available services and parameters:
Cannot resolve parameter 'RepositoryExample.Models.UsersContext context' of constructor 'Void .ctor(RepositoryExample.Models.UsersContext)'.

翻译:没有构造函数的发现与类型“Autofac.Core.Activators.Reflection.DefaultConstructorFinder'RepositoryExample.MyRepository.EfRepository`1[RepositoryExample.Models.Grade]'可以与现有的服务和参数调用它:
无法解析参数'RepositoryExample.Models.UsersContext语境“的建构”太虚。构造函数(RepositoryExample.Models.UsersContext)“。

项目环境:vs2012 、MVC4

项目下载 :

http://pan.baidu.com/s/1iZ6k2

问题补充:

有一个更好的例子: http://www.cnblogs.com/n-pei/archive/2011/09/06/2168433.html

开山怪不怪的主页 开山怪不怪 | 小虾三级 | 园豆:544
提问于:2014-04-29 10:12
< >
分享
最佳答案
0

使用了  public EfRepository(UsersContext context)

所以 builder.Register<DbContext>(o => new UsersContext()).InstancePerHttpRequest();

改为 builder.Register(o => new UsersContext()).InstancePerHttpRequest();

收获园豆:100
jj91821 | 菜鸟二级 |园豆:461 | 2014-04-30 10:51

照楼上方法,已解决。多谢!能进行下一步学习了,非常感谢,这个点卡了好些天。

开山怪不怪 | 园豆:544 (小虾三级) | 2014-04-30 11:27

@黑峰: 此例子整理了一篇博客 在 http://www.cnblogs.com/heifengwll/p/3715197.html

开山怪不怪 | 园豆:544 (小虾三级) | 2014-05-07 23:41

@黑峰: 其他注入代码呢

_York | 园豆:3 (初学一级) | 2017-12-28 10:37

@黑峰: 怎么注入到Repository 里面去

_York | 园豆:3 (初学一级) | 2017-12-28 10:37

@_York: 好久了,等我再看下代码记忆下

开山怪不怪 | 园豆:544 (小虾三级) | 2017-12-28 10:42

@黑峰: 

开山怪不怪 | 园豆:544 (小虾三级) | 2017-12-28 14:00

@黑峰: 你下载网盘里的项目看看

开山怪不怪 | 园豆:544 (小虾三级) | 2017-12-28 14:00

感谢感谢,解决了我的问题

 

InstancePerHttpRequest();

忘这个鬼东西,mvp,webApi 请求 是不是实例失败

easy5 | 园豆:204 (菜鸟二级) | 2018-04-01 13:09
其他回答(1)
0

应该是你向容器请求一个泛型的对象,然后他不能解析泛型参数,

吴瑞祥 | 园豆:29449 (高人七级) | 2014-04-29 10:38

麻烦看下代码。我找不出来问题出在哪。

支持(0) 反对(0) 开山怪不怪 | 园豆:544 (小虾三级) | 2014-04-29 10:43
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册