2017-10-30 30 views
0

現在、.NET 4.6.1を実行するWCFプロジェクトと、WebサービスとAngular 2アプリケーションを実行している.NET Coreプロジェクトがあります。異なる.NETプラットフォーム間のSignalR通信

Unexpected character encountered while parsing value: <. Path '', line 0, position 0.

角度アプリが正常のためSignalRのサービスを使用している:HubConnectionクラスを使用して(WCFプロジェクトから)AspNetCore.SignarlRプロジェクトを参照しようとすると、接続が開始されたとき、私は常にエラーが発生しますチャットデモ私のルーティングは正しい順序で定義されており、プロジェクト間のハブの名前も二重チェックされています。

私が受け取っているエラーは、SignalRライブラリの2つの異なる実装を使用しているという事実に関連していますか?もしそうなら、この問題を解決する方法はありますか?

答えて

0

SignalRのASP.NET Coreバージョンは、以前のバージョンと互換性がありません。クライアントがnetstandardをターゲットにしているので、プロジェクトのASP.NET Coreバージョンの.NETから.NETクライアントを使用することができます。

あなたはまだバージョンの非互換性を打つことはないと言われています。エラーメッセージには、<という文字があります。これは、クライアント(古いものか新しいもの)が最初の応答でJSONを期待している間に、サーバーがXMLまたはHTML(おそらくエラー)を提供していることを伝えます。何が起きているのかを理解するために、サーバーが返す応答が何であるかを最初に確認する必要があります。

+0

ありがとうございます。はい、そうです。代わりにHTMLドキュメントが返されます。興味深いのは、http:// localhost:50114/myhubへのサーバー側のWebリクエストを作成すると、接続IDを持つ有効なjson応答が正常に返されるということです。 HubConnection( "http:// localhost:50114/myhub"、false)を使用している場合。アプローチでは、接続IDは常にnullです – envio

+0

HTMLには何がありますか? IISまたはKestrelだけでローカルに実行していますか?たぶんIISの設定ミスでしょうか? – Pawel

+0

私は最終的にクライアントが交渉についての何かを含むさまざまなクエリー・ストーン・パラメーターを持った電話をしているのを見ていました。 Angularアプリがこのパラメータを含まないコールを行ったため、パイプラインが正しく処理しました。私は、URLがsignalpのaspnetcoreバージョンが予期していたものと一致しないと仮定しています。返されるHTMLは、Angularアプリのデフォルトページだけでした。今のところ、私はこのアプローチがおそらく今のところ取るのがベストではないということを認めました。 – envio

関連する問題