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控制器