运行 时我的控制器出现无参数构造函数错误

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 的其余部分。