1

我有一个从依赖注入框架(Autofac)获取其依赖关系的构造函数。问题是除了获取这些依赖项之外,我无法在构造函数中执行任何其他操作,如果我在构造函数中编写除了那些依赖项分配之外的任何语句,我会收到以下错误:-

No parameter less constructor is defined for this object

我必须评论下面显示的只读字符串的分配才能使它起作用:-

public RelationshipController(ICustomerService customerService,)
{
   this.customerService = customerService;
   //someReadonlyString = "abcd";
}

谁能告诉我,发生了什么?

4

2 回答 2

1

当在ICustomerService容器中找不到请求的服务(在本例中为 )时,Autofac 将继续寻找默认的(也就是无参数的)构造函数。您显然没有默认构造函数,因此 Autofac 会出现异常。

我的猜测是,这里真正的错误在于接口的注册码ICustomerService

于 2012-07-09T16:55:34.567 回答
0

我看到一个RelationshipController,这可能意味着您正在使用ASP.NET MVC。您可能没有在 MVC 中正确注册 Autofac。在这种情况下,MVC 将不会使用 Aufofac,只能使用默认构造函数。

于 2012-07-24T19:34:40.697 回答