我尝试使用websockets并将Websocket服务器实现为IHttpHandler。我在Windows8,VisualStudio 2012和IIS 8上工作。每当我尝试使用javascript客户端连接到我的服务器时,我都会获得context.IsWebSocketRequest在ProcessRequest方法中等于false。当我切换到本地IIS服务器时一切正常(context.IsWebSocketRequest为true)。我错过了什么?如何强制IIS Express使用WebSockets?
我的WebSocket服务器实现:
public class WebSocketHandler: IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
if (context.IsWebSocketRequest)
{
context.AcceptWebSocketRequest(ProcessWebSocketRequest,new AspNetWebSocketOptions()
{
RequireSameOrigin = true
});
}
}
private async Task ProcessWebSocketRequest(AspNetWebSocketContext socketContext)
{
var ws = socketContext.WebSocket;
while (true)
{
//Do something...
}
}
public bool IsReusable { get { return false; } }
}
答案 0 :(得分:0)