2013-08-01 30 views
1

自託管ASP.NET網頁API,我怎麼能:ASP.NET WebApi:如何檢查和創建每個請求的上下文?

  1. 從一個類檢測,如果有一個「環境」的網絡API上下文。這是爲了避免在每個服務調用中傳遞元數據信息。我在尋找的

    System.Web.HttpRequest.Current != null

  2. 我怎麼能把與當前請求相關的元數據信息的等價物。再次,這些元數據中的一些非常流行,包括他們在每種方法和調用方式都太痛苦了。考慮交易,多租戶架構和認證。我需要一種方法使請求之間的這種信息流通過,而不會混淆代碼。

    在另一個字,我還需要這相當於爲解釋here

    HttpContext.Current.Items["user" + X.ToString()]

我想我還是可以訪問他們,只要的WebAPI在IIS上承載,但我有這些自我託管,我需要一種方式來跟蹤周圍的UoW信息 - 我該怎麼做?

的幾個注意事項:

  1. 我一直在使用每個請求DI和注入 請求上下文到管理者也可以考慮,但是也有一噸的,這不是設立這一傳統 代碼(其中一些是靜態的),並且我沒有膽量通過做這樣一個主要的 重構來炸燬生產。
  2. 我還使用了一個線程靜態變量 - 這樣的問題是線程被回收,並且該進程承載多個服務,其中一些甚至不是WebApi ...所以有時候我的管理員認爲它正在處理一個WebApi請求,實際上它是爲WCF服務的。
+0

不確定在這....但你有檢查base.Request http://msdn.microsoft.com/en-us/library/system.web.mvc.controllercontext%28v=vs.108%29。 ASPX –

回答

1

HttpRequestMessage實例具有用於保存任意每個請求上下文的屬性字典。

相關問題