用于自托管模式的WebApi按请求存储

kim*_*gro 4 self-hosting asp.net-web-api

托管WebApi是IIS时,您可以访问HttpContext,并可以使用items集合来存储单个HTTP请求的对象.

当自托管时,您不再拥有HttpContext,那么我可以使用什么来存储单个请求的对象?

Fil*_*p W 6

显然,在自托管中没有直接等效的System.Web的HttpContext.

但是,如果您希望为单个请求启动信息,则每个HttpRequestMessage都会公开一个<string,object>字典,名为Properties- http://msdn.microsoft.com/en-us/library/system.net.http. httprequestmessage.properties.aspx,您可以使用它来在处理程序,过滤器,绑定器等之间传输数据.

  • @kimsagro - 您可以使用静态`ConcurrentDictionary`或`System.Runtime.Caching.MemoryCache` (3认同)