我无法使用适用于 ASP.NET Web API nuget 包的 Unity 引导程序使用自定义 ActionFilterAttribute 类进行依赖注入。
我已经在 UnityConfig 中注册了该类型,并且我在其他地方使用它(虽然在那里使用构造函数注入)并且它工作正常。
public static void RegisterTypes(IUnityContainer container)
{
container.RegisterType<ISettingService, SettingService>();
...
}
代码被成功调用,但是实例化对象(settingService)为空。
public class APIKeyValidationAttribute : ActionFilterAttribute
{
[Dependency]
public ISettingService settingService { get; set; }
public override void OnActionExecuting(HttpActionContext actionContext)
{
...
if (settingService == null)
{
throw new Exception("settingService is null");
}
...
}
我需要做什么才能使它正常工作?我已经搜索了很长时间,只能找到 MVC 或具有不同依赖注入器的 Web API 的示例。