2012-11-02 90 views
3

我想用asp.net web api中的DelegatingHandler來解決我的依賴關係問題。在asp.net web api中的DelegatingHandler的生存期

我註冊自定義委託處理程序global.asax如下:

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

我想知道什麼是MessageHandlers的壽命是多少?使用IoC容器在委託處理程序中注入依賴關係更有意義嗎?

回答

3

在應用程序啓動時,委託處理程序僅初始化一次。 將它們看作是進程中的中間件,而不是單個請求/響應生命週期的一部分。

如果您希望對此進行更改 - 您可以在Codeplex上打開一個工作項來更改此項 - 您可以投票選擇該功能,並將其引入Web API vNext。

目前,向處理程序注入任何東西的最佳方法是手動解析依賴關係,因此使用(不幸地)服務位置。

+0

剛剛意識到,已投票表示感謝 – Eatdoku

相關問題