次の例から判断すると、異なるドメイン間の永続的な接続は正常に機能しているようです。
しかし、代わりに「hubConnection」を使用しようとすると、アプリケーションが生の接続ではなくハブを使用するため、ブラウザーは CORS について不平を言います。ブラウザで Javascript コンソールを開き、次のフィドルを実行します。
私の Global.asax には次のコードが含まれていますが:
protected void Application_BeginRequest(object sender, EventArgs e)
{
this.Context.Response.AddHeader("Access-Control-Allow-Origin", "*");
if (this.Context.Request.HttpMethod == "OPTIONS")
{
this.Context.Response.AddHeader("Access-Control-Allow-Methods", "GET, POST");
this.Context.Response.AddHeader("Access-Control-Allow-Headers", "Content-Type, Authorization, Accept");
this.Context.Response.End();
}
}
では、何が間違っているのでしょうか?それは単に、hubConnections が異なるドメイン間でうまく機能しないということですか、それとも私の側に何かあるのでしょうか? ローカルの REST クライアント (Postman) から同じ MVC アプリケーションに対して通常の XHR 要求を実行できるので、私の側では何も問題はないはずです。
ありがとう!
編集:
さらに掘り下げた後、最初のjsfiddleで使用されているsignalr jsファイルに、この「xdomain」プロパティの定義があることがわかりました。しかし、「hubConnection」の定義がないので、query.signalR-0.5.3.js に切り替えました。しかし、それには「xdomain」の定義がありません。そして、それがおそらくCORSエラーが発生する理由です。
xdomain と hubConnection の両方をサポートするシグナル js クライアントのバージョンはありますか?
再度、感謝します。