簡體   English   中英

ASP.NET WebApi:如何檢查和創建每個請求的上下文?

[英]ASP.NET WebApi: How to check and create per-request context?

自托管的ASP.NET Web Api中 ,如何:

  1. 從類中檢測是否存在“環境” Web API上下文。 需要這樣做,以避免在每個服務調用中傳遞元數據信息。 我正在尋找相當於

    System.Web.HttpRequest.Current != null

  2. 如何附加與當前請求關聯的元數據信息。 同樣,這些元數據中的一些非常普遍,以至於在每個方法和調用中都包含它們太痛苦了。 考慮事務,多租戶架構和憑證。 我需要一種方法,使這類信息在請求之間流通,而又不會使代碼混亂。

    換句話說,我還需要與這里說明的等效:

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

只要WebApi托管在IIS上,我認為我仍然可以訪問它們,但是我已經將這些托管在自己的主機上,並且我需要一種跟蹤環境UoW信息的方法-我該怎么做?

一些注意事項:

  1. 我還考慮過使用每個請求DI並將請求上下文注入管理器,但是還沒有為此設置大量的舊代碼(其中一些是靜態的),而且我沒有膽量通過進行這樣的重大重構來提高產量。
  2. 我還使用了一個線程靜態,靜態變量-這樣的問題是線程被回收,並且該進程托管多個服務,其中一些服務甚至不是WebApi ...所以有時我的經理認為它正在處理WebApi請求實際上,它正在為WCF提供服務。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM