在Startup.ConfigureServices
中,我有这段代码:
services.AddSingleton<IControllerActivator>(new LicenseKeyControllerActivator(keyService));
LicenseKeyControllerActivator如下所示:
public class LicenseKeyControllerActivator
: IControllerActivator
{
private readonly ILicenseKeyService _keyService;
public LicenseKeyControllerActivator(ILicenseKeyService licenseKeyService)
{
_keyService = licenseKeyService;
}
public object Create(ControllerContext context)
{
return new LicenseController(_keyService);
}
public void Release(ControllerContext context, object controller)
{
return;
}
}
在请求 - 响应生命周期中,激活器创建控制器,基于DataAnnotations
的验证工作,过滤器过滤器,但不会调用任何控制器方法。事实上,在DTO上调用set
后,会立即调用Release
。
我不确定这是a routing problem还是控制器激活器问题。