5

SignalRクロスドメイン通信を使用してWebアプリを作成しています。SignalRの最新バージョンである1.0.1を使用しています。以下は、jQueryのドキュメント準備完了イベントのコードです。

var connection = $.hubConnection(url);
  var proxy = connection.createHubProxy(hubName);

  connection.start().done(function () {
    proxy.invoke('serverMethod');
  });

このアプリケーションをOpera、Firefox、Chrome、IE10で実行してみました。私のOSはWindows7です。IE10では正常に動作し、他のブラウザーでは動作しません。開発ツールを使用してIEのモードをIE9に変更したところ、動作しなくなりました。SignalRバージョン0.5.3を使用すると、すべてのブラウザーで同じコードが機能します。

ブラウザの開発者ツールで、ネゴシエーション要求に応答して次のHTTPステータスコードが見つかりました:「HTTP /1.1403Forbidden」。

ここに何か足りないものがありますか?IE 10以外のブラウザで壊れている理由は何ですか?

4

1 に答える 1

12

MapHubs呼び出しで、クロスドメインを有効にしていることを確認してください。

RouteTable.Routes.MapHubs(new HubConfiguration() { EnableCrossDomain = true });

クロスドメインをローカルでテストする場合、IE10には、ローカルホストポートをクロスドメインではないものとして扱う興味深い機能があります。

于 2013-03-09T19:15:11.053 に答える