ASP.NET Web API nuget パッケージ用の Unity ブートストラップを使用して、カスタム ActionFilterAttribute クラスで依存関係の挿入を行うことができません。
私は UnityConfig にタイプを登録し、別の場所で使用しています (ただし、コンストラクター インジェクションを使用しています)。正常に動作します。
public static void RegisterTypes(IUnityContainer container)
{
container.RegisterType<ISettingService, SettingService>();
...
}
コードは正常に呼び出されていますが、インスタンス化されたオブジェクト (settingService) は null です。
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 の例しか見つけることができません。