NetHttpBinding
IIS 8 Express でWCF を使用しようとするとWebSocketException
、クライアントが接続を試みると、クライアント側で次のメッセージがスローされます。
WebSocket のアップグレード リクエストが失敗しました。応答ステータス コード '200 (OK)' を受信しました。予想: '101 (SwitchingProtocols)'。
Google 検索は役に立ちません。
このエラーの原因は何ですか?
これは、HTTP サーバーがその URL で WebSockets をサポートしていないことを意味します。WebSocket のネゴシエーション中に、標準の HTTP 1.1GET
要求が特別なUpgrade: websocket
ヘッダーと共にサーバーに送信され、クライアントが接続で HTTP ではなく WebSocket を使用することを望んでいることをサーバーに知らせます。サーバーが WebSocket をサポートし、要求ヘッダーが有効な場合、サーバーは101
応答を送信して、接続中にサーバーが接続を WebSocket に切り替えることをクライアントに知らせる必要があります。3xx リダイレクト以外の応答は、サーバーがUpgrade
その URL での要求を認識または許可しないことを意味します。