我有一个构造函数从依赖注入框架(Autofac)获取它的依赖项。问题是我不能做任何事情在构造函数否则除了让这些依赖关系,如果我写的比那些依赖任务其它构造函数中的任何声明,我得到以下错误: -无法初始化使用依赖注入的构造函数中的变量
No parameter less constructor is defined for this object
我要评论如下这个工作只读字符串赋值: -
public RelationshipController(ICustomerService customerService,)
{
this.customerService = customerService;
//someReadonlyString = "abcd";
}
有人可以告诉我,这是怎么回事?
将赋值添加到构造函数不会导致此错误。你能发布更多的上下文吗?如何设置依赖关系解析器?你的容器注册是怎样的?什么是确切的错误消息,内部异常是什么?也许有'ICustomerService'实现不与控制器有关的问题.... – nemesv 2012-07-09 14:22:03
..也就是说,'''在构造函数签名中做了什么? – 2012-07-09 16:51:53
我看到'RelationshipController'这可能意味着你正在使用ASP.NET MVC(但你没有在这个标签)。您可能没有在MVC中正确注册Autofac。在这种情况下,MVC不会使用Aufofac,只能使用默认的构造函数。请显示您的配置,以及完整的异常信息+堆栈跟踪。 – Steven 2012-07-10 07:45:15