SignalR跨域不在IE10以外的浏览器上工作

时间:2013-03-09 14:56:51

标签: asp.net signalr

我正在使用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和IE 10上运行该应用程序。我的操作系统是Windows 7.它在IE 10上运行良好,在其他浏览器上无效。我使用开发人员工具将IE的模式更改为IE 9,并且它已停止工作。如果我使用SignalR版本0.5.3,相同的代码适用于所有浏览器。

在浏览器的开发者工具中,我发现以下HTTP状态代码响应协商请求:“HTTP / 1.1 403 Forbidden”。

我在这里遗漏了什么?是什么原因导致IE 10以外的浏览器出现问题?

1 个答案:

答案 0 :(得分:12)

确保在您的MapHubs调用中启用跨域。

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

在本地测试跨域时,IE10有一个有趣的功能,可以将任何localhost端口视为不跨域。

相关问题