跨域的SignalR

Rob*_*lie 8 asp.net-mvc-3 signalr

我正在尝试跨域工作的基本示例,但我无法让它工作.据有人在这里https://github.com/SignalR/SignalR/issues/6他通过添加Access-Control-Allow-Origin标题让它工作.

基本上,我已经在mvc 3应用程序中添加了一个集线器,在web.config中添加了上面的标题,并创建了一个发送消息的页面.此设置工作正常.接下来,我在页面上使用相同的客户端javascript创建了一个不同的Web应用程序,但使用以下命令将URL设置为其他服务器:

$.connection.hub.url = 'http://www.myserver.com/signalr';
Run Code Online (Sandbox Code Playgroud)

一旦我使用远程网址,它就会停止工作.

如何让SignalR跨域工作?

更新:一些添加的信息,上面的方法适用于chrome和firefox,但IE9不喜欢它...

aKz*_*enT 9

我使用一个简单的测试项目和Internet Explorer 9来实现它,但这并不容易,首先我对你描述的相同问题感到困惑.我想你几乎就在那里,你只是在JavaScript中错过了以下几行:

jQuery.support.cors = true;
Run Code Online (Sandbox Code Playgroud)

告诉jQuery进行跨域调用.看似简单,但真的很难找到;-)

我解释了我在博客文章中所做的所有步骤,因为到目前为止我还没有找到关于这个主题的任何现有信息.

告诉我是否还有其他问题.我有一个在Internet Explorer 9中运行的工作测试项目,我可以发送给你.