asp.net web api中DelegatingHandler的生命周期

时间:2012-11-02 06:45:27

标签: asp.net-web-api

我正在尝试使用Ninject来解决我在asp.net web api中的DelegatingHandler中的依赖关系。

我正在global.asax注册自定义委托处理程序,如下所示:

GlobalConfiguration.Configuration.MessageHandlers.Add(
            DependencyResolver.Current.GetService<AuthorizationHeaderHandler>());

我想知道MessageHandlers的生命周期是什么?使用IoC容器在委托处理程序中注入依赖项是否有意义?

1 个答案:

答案 0 :(得分:4)

委托处理程序仅在应用程序启动时初始化一次。 将它们视为进程间中介,而不是单个请求/响应生命周期的一部分。

如果您希望更改此项 - 有一个工作项可以在Codeplex中更改此项 - http://aspnetwebstack.codeplex.com/workitem/62您可以投票支持该功能,它可能会被带入Web API vNext。

目前,向处理程序注入任何内容的最佳选择是手动解决依赖关系,因此使用(不幸的是)服务位置。