首页 新闻 会员 周边

Autofac在MVC中Controller多级继承的注入问题

0
悬赏园豆:50 [已解决问题] 解决于 2015-09-08 09:02

假如在MVC中存在基础Controller,如下:

public class BaseApiController : ApiController
{
        public BaseApiController(IMemberService memberService)
        {
           
        }
}

public class MyController :  BaseApiController 
{
     public MyController (ILogger logger,IMemberService memberService) : base(memberService)
    {
     }
}

这种继承,使用Autofac的自动注入总是提示没有一个无参的构造函数的错误。请问这种我该怎么实现构造方法注入呢?

埋头前进的码农的主页 埋头前进的码农 | 初学一级 | 园豆:118
提问于:2015-09-07 11:45
< >
分享
最佳答案
0

是否是有别的构造函数?

不夜橙 | 菜鸟二级 |园豆:253 | 2015-09-07 12:11
其他回答(2)
0

你这不是实现了么?你是想怎么样?

顾晓北 | 园豆:10844 (专家六级) | 2015-09-07 11:52

执行的时候如下提示:

An error occurred when trying to create a controller of type 'MyController'. Make sure that the controller has a parameterless public constructor.

 

支持(0) 反对(0) 埋头前进的码农 | 园豆:118 (初学一级) | 2015-09-07 11:54

@埋头前进的码农: 

public abstract class Father
    {
        protected string name;
        public Father()
        {
            name = "Father";
        }
        public Father(string fullName)
        {
            this.name = fullName;
        }
    }

public class Son : Father
    {
        public Son(string fullName, int age)
            : base(fullName)
        { }
        public string Say()
        {
            return this.name;
        }
    }

我这样是可以的,我怀疑是你继承的Controller,有地方用他的无参数构造函数。。。

支持(0) 反对(0) 顾晓北 | 园豆:10844 (专家六级) | 2015-09-07 12:00
0

刚刚试了下,没问题啊!代码能不能贴全

收获园豆:50
cuibty | 园豆:199 (初学一级) | 2015-09-07 18:52
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册