如何在asp.net Web API中使用Castle Windsor在身份验证筛选器属性中实现依赖项注入?

时间:2018-12-12 15:11:57

标签: c# dependency-injection castle-windsor

我需要调用服务来验证随请求传递的标头。我正在使用windsor依赖项注入,但是似乎无法将依赖项注入到属性/过滤器中?

我已经在互联网上搜索了很多,但是还没有找到一个明确的可行解决方案。尽管在大多数应用程序中这似乎极其重要,但我想知道如何解决此问题?

1 个答案:

答案 0 :(得分:2)

您需要在应用程序启动时执行此操作

我正在使用Simple Injector,但无论您使用哪个库都没关系

首先注册您的过滤器属性

 container.Register<JwtAuthenticationAttribute>(Lifestyle.Singleton)

然后在您的startup.cs文件中,您可以执行以下操作

 config.Filters.Add(container.GetInstance<JwtAuthenticationAttribute>());
在这种情况下,

容器将是您的Castle Windosor初始化和服务注册的容器