using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.Controllers; using Microsoft.Extensions.DependencyInjection; namespace Tnb.WarehouseMgr.Extensions { public class WareHouseBasedControllerActivator : IControllerActivator { public object Create(ControllerContext context) { if (context == null) { throw new ArgumentNullException("context"); } Type controllerType = context.ActionDescriptor.ControllerTypeInfo.AsType(); //获取Controller实例 object controller = context.HttpContext.RequestServices.GetRequiredService(controllerType); //判断是否继承了自定义Controller基类 //if(controller is BaseWareHouseService basedWhSvc) //{ // basedWhSvc.WareHouseSrv = context.HttpContext.RequestServices.GetRequiredService(); //} return controller; } public void Release(ControllerContext context, object controller) { } } }