Files
tnb.server/WarehouseMgr/Tnb.WarehouseMgr/Extensions/WareHouseBasedControllerActivator.cs

30 lines
1.0 KiB
C#

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<IWareHouseService>();
//}
return controller;
}
public void Release(ControllerContext context, object controller)
{
}
}
}