HttpRequestContext 与 HttpContext

tea*_*sdf 5 c# sockets asp.net http websocket

HttpRequestMessage我有一个关于和 的问题HttpContext

我正在尝试在我的项目中使用 Web 套接字,并且在很多示例中看​​到使用该HttpContext.IsWebSocketRequest属性和HttpContext.AcceptWebSocketRequest方法来检查传入的 HTTP 请求是否是 Web 套接字升级请求(在 .NET 中使用 WebSocket) 4.5让 .NET 4.5 WebSocket 正常工作)。

我遇到的问题是我的控制器处理 HTTP GET 请求继承自ApiController,当请求传入时我似乎唯一可以访问的是HttpRequestMessage.GetRequestContext(). HttpContext.Current我当前需要的 Web 套接字属性和方法确实存在于它所说的上下文中。

我的想法是,当请求到来时,会启动一个新线程来处理该请求,但我不确定该怎么做。我可以做什么来访问HttpContext.Current我需要的这个对象,以便我可以拥有 Web 套接字功能?

总而言之,我想要实现的目标是:

if(HttpContext.Current.IsWebSocketRequest() == true){
    Console.WriteLine("Yay!");
}
Run Code Online (Sandbox Code Playgroud)

但我收到 HttpContext 在当前上下文中不存在错误。