尝试在IIS 8 Express上使用带有NetHttpBinding
的WCF时,客户端尝试连接时会在客户端抛出以下WebSocketException
:
WebSocket升级请求失败。收到响应状态代码'200(OK)',预期:'101(SwitchingProtocols)'。
Google Search没有帮助。
导致此错误的原因是什么?
答案 0 :(得分:7)
这意味着HTTP服务器不支持该URL上的WebSockets。在WebSocket协商期间,标准HTTP 1.1 GET
请求将使用特殊的Upgrade: websocket
标头发送到服务器,以使服务器知道客户端希望连接使用WebSocket而不是HTTP。如果服务器支持WebSockets,并且请求标头有效,则服务器需要发送101
回复,让客户端知道服务器在连接期间将连接切换到WebSocket。除3xx重定向之外的任何其他回复意味着服务器无法识别或允许该URL上的Upgrade
请求。