如何将参数传递给所有API控制器构造函数

时间:2018-11-27 07:23:40

标签: asp.net asp.net-mvc api asp.net-web-api

MVC Web:通过将DefaultControllerFactory实现到我自己的Base控制器,以将参数传递给所有控制器构造函数,我们可以将参数传递给所有控制器构造函数。

我也想为API控制器做类似的事情。

示例MVC Web控制器

 public class BaseController : DefaultControllerFactory
{
    readonly IRepository _readOnlyRepository;

    public BaseController()
    {
        _readOnlyRepository = _readOnlyRepository ?? new ApplicationDbContext();
    }
    public override IController CreateController(RequestContext requestContext, string controllerName)
    {
        var controllerType = GetControllerType(requestContext, controllerName);
        return (IController)Activator.CreateInstance(controllerType, BindingFlags.CreateInstance, null, new object[]
        {
            _readOnlyRepository
        }, null);
    }
}

如何将参数传递给所有API控制器

0 个答案:

没有答案