运行 时我的控制器出现无参数构造函数错误
Parameterless Constructor error in my controller at run time
我正在获取无参数构造函数 error.My 代码在早些时候 运行 很好,当时我只将服务层实例传递给构造函数,就像这样--
public class ProjectController : Controller
{
private readonly IProjectService _projectService;
public ProjectController(IProjectService projectService)
{
this._projectService = projectService;
}
然后下面是我所有的操作方法。
当我想到在我的控制器中使用其他一些接口时出现了问题,所以我尝试了这样的操作---
public class ProjectController : Controller
{
private readonly IProjectService _projectService;
private readonly ICityService _cityService;
private readonly ILocalityService _localityService;
public ProjectController(IProjectService projectService)
{
this._projectService = projectService;
}
public ProjectController(ICityService cityService)
{
this._cityService = cityService;
}
public ProjectController(ILocalityService localityService)
{
this._localityService = localityService;
}
这样,我就可以使用其他接口中定义的方法 too.At 编译时,我认为一切正常,但现在我收到了这个错误。我想知道我的方法错了吗?我应该怎么做才能使用给定的接口及其服务中的方法 layer.I 已将我的完整代码粘贴到 http://pastebin.com/fspycG5p
您需要创建一个接受所有接口的构造函数,而不是创建多个具有一个接口的构造函数。
public class ProjectController : Controller
{
private readonly IProjectService _projectService;
private readonly ICityService _cityService;
private readonly ILocalityService _localityService;
public ProjectController(IProjectService projectService,
ICityService cityService,
ILocalityService localityservice)
{
this._projectService = projectService;
this._cityService = cityService;
this._localityService = localityService;
}
}
这是假设您已正确配置 IOC 的其余部分。
我正在获取无参数构造函数 error.My 代码在早些时候 运行 很好,当时我只将服务层实例传递给构造函数,就像这样--
public class ProjectController : Controller
{
private readonly IProjectService _projectService;
public ProjectController(IProjectService projectService)
{
this._projectService = projectService;
}
然后下面是我所有的操作方法。 当我想到在我的控制器中使用其他一些接口时出现了问题,所以我尝试了这样的操作---
public class ProjectController : Controller
{
private readonly IProjectService _projectService;
private readonly ICityService _cityService;
private readonly ILocalityService _localityService;
public ProjectController(IProjectService projectService)
{
this._projectService = projectService;
}
public ProjectController(ICityService cityService)
{
this._cityService = cityService;
}
public ProjectController(ILocalityService localityService)
{
this._localityService = localityService;
}
这样,我就可以使用其他接口中定义的方法 too.At 编译时,我认为一切正常,但现在我收到了这个错误。我想知道我的方法错了吗?我应该怎么做才能使用给定的接口及其服务中的方法 layer.I 已将我的完整代码粘贴到 http://pastebin.com/fspycG5p
您需要创建一个接受所有接口的构造函数,而不是创建多个具有一个接口的构造函数。
public class ProjectController : Controller
{
private readonly IProjectService _projectService;
private readonly ICityService _cityService;
private readonly ILocalityService _localityService;
public ProjectController(IProjectService projectService,
ICityService cityService,
ILocalityService localityservice)
{
this._projectService = projectService;
this._cityService = cityService;
this._localityService = localityService;
}
}
这是假设您已正确配置 IOC 的其余部分。