C# 无法在生成时将HttpRequestMessage.Properties[";MS_RequestContext";]强制转换为OwinHttpRequestContext,但在运行时有效

C# 无法在生成时将HttpRequestMessage.Properties[";MS_RequestContext";]强制转换为OwinHttpRequestContext,但在运行时有效,c#,asp.net-web-api,casting,owin,C#,Asp.net Web Api,Casting,Owin,在WebApi的CompositionRoot中的控制器激活期间,我试图手动处理我的MS_RequestContext的属性 我的Create方法接收一个System.Net.Http.HttpRequestMessage参数 我可以向下搜索请求以获取 request.Properties["MS_RequestContext"] 毫无疑问。我可以通过即时窗口确认在运行时修改属性没有问题 (request.Properties["MS_RequestContext"] as System.Web

在WebApi的CompositionRoot中的控制器激活期间,我试图手动处理我的
MS_RequestContext
的属性

我的Create方法接收一个
System.Net.Http.HttpRequestMessage
参数

我可以向下搜索请求以获取

request.Properties["MS_RequestContext"] 毫无疑问。我可以通过即时窗口确认在运行时修改属性没有问题

(request.Properties["MS_RequestContext"] as System.Web.Http.Owin.OwinHttpRequestContext).Request.Properties.Add("Foo","Bar") (request.Properties[“MS_RequestContext”]作为System.Web.Http.Owin.OwinHttpRequestContext)。request.Properties.Add(“Foo”,“Bar”) 属性“Foo”将可用于我的所有MessageHandler

为什么我不能在构建时执行相同的强制转换

The type or namespace 'OwinHttpRequestContext' could not be found (are you missing a using directive or an assembly reference?) (request.Properties["MS_RequestContext"] as System.Web.Http.Owin.OwinHttpRequestContext).Request.Properties (request.Properties["MS_RequestContext"] as System.Web.Http.Owin.OwinHttpRequestContext).Request.Properties.Add("Foo","Bar")