我正在 IIS 7.5 下测试 SignalR(1.1.0) Chat 示例。
我正在尝试从不同的网络应用程序连接到我的 SignalR 网络应用程序(跨域)。
我已经在我的 web.config 中进行了跨域配置,这在 asp.net 开发服务器中工作正常,并在 global.asax 上启用了 cors。
但是,当我将这个项目部署到 IIS 7.5 时,这不起作用。然后我注意到它只适用于 IE 8,不适用于 Firefox。
我的连接如下:
var connection = $.hubConnection('http://my.webserver.ip/sincronismoSR'),
chatHubProxy = connection.createHubProxy('chatHub');
connection.start().done(function() {
$('#sendmessage').click(function () {
chatHubProxy.invoke('Send', $('#displayname').val(), $('#message').val());
$('#message').val('').focus();
});
});
我查看了发出的请求,它得到了 200 响应,但答案是空的。
最佳答案
Claudio,我们在一个项目中使用了 SignalR,它运行得非常好。不幸的是,我的研究不够好。当浏览器支持时,我认为 SignalR 是 websockets,但事实是,自从我们在 2008 R2 服务器上运行 .NET 4.0 以来,我们从未有过 websockets。
SignalR websocket 传输需要 .NET 4.5、IIS8、2012Server/Win8,这对于我们的项目来说是 Not Acceptable (目前)。
我环顾四周,在 .NET 堆栈上找到了一些替代方案。最后,我们决定使用 xsockets.NET (http://xsockets.net),此后就再也没有回头。 从 SignalR 转移到 xsockets 真的很容易,而且 xsockets 在所有平台上都支持 websocket。还支持单声道。
唤醒我们的是signalr和xsocket之间的比较:http://xsockets.net/xsockets-vs-signalr
不过 SignalR 上没有阴影。这是一个不错的选择,但由于服务器要求不适合我们。糟糕的是,社区似乎一直认为 SignalR 是实时的。但正如我所说,我们只能怪自己,因为我们没有足够好地阅读文档并且浪费了很多时间:(
祝你好运
关于javascript - IIS7.5 下的 SignalR webapp 不适用于来自其他 webapp 的 Firefox 访问(跨域),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19635639/