【发布时间】:2013-08-02 20:47:29
【问题描述】:
在一个自托管的 ASP.NET Web Api中,我该如何:
-
从类中检测是否存在“环境”Web API 上下文。这是为了避免在每个服务调用中传递元数据信息。我正在寻找相当于
System.Web.HttpRequest.Current != null -
如何附加与当前请求相关的元数据信息。同样,其中一些元数据是如此普遍,以至于在每个方法和调用中都包含它们太痛苦了。想想事务、多租户架构和凭证。我需要一种方法来使这种信息在请求之间流动,而不会使代码混乱。
换句话说,我还需要与 here 解释的等效项:
HttpContext.Current.Items["user" + X.ToString()]
我想我仍然可以访问它们,只要 WebApi 托管在 IIS 上,但我有这些自托管,我需要一种方法来跟踪周围的 UoW 信息 - 我该怎么做?
几点说明:
- 我还考虑过使用每个请求 DI 并注入一个 向管理器请求上下文,但是有很多遗留问题 没有为此设置的代码(其中一些是静态的)和我 没有胆量做这么大的事来炸毁生产 重构。
- 我还使用了线程静态、静态变量 - 这样的问题是线程被回收,并且进程托管多个服务,其中一些甚至不是 WebApi...所以有时我的经理认为它正在处理一个 WebApi 请求,而实际上它正在为 WCF 提供服务。
【问题讨论】:
-
不确定这个......但你检查过base.Request msdn.microsoft.com/en-us/library/…
标签: c# wcf architecture asp.net-web-api unit-of-work