我正在使用SignalR制作应用程序。
Hub放置在运行带有IIS 8的Windows Server 2012的一台服务器上。 http://mentor.cloudapp.net/mass/rexona/previa/signalr/hubs
Signalr设置如下:
var match;
$(document).ready(function () {
$.connection.hub.loging = true;
match = $.connection.match;
match.client.addMessage = function (message) {
var vm = {
avatar: message.ProfileImageLocation,
content: message.Text,
user: message.UserScreenName,
obj: JSON.stringify(message)
};
alert(vm.obj);
}
$.connection.hub.url = 'http://mentor.cloudapp.net/mass/rexona/previa/signalr';
$.connection.hub.start().done(function () {
match.server.addToGroup("97-987-PP");
}).fail(function () {
//alert("fail!");
});
一切都在Chrome,FF,Opera和IE10中完美运行,但当使用IE9访问时,应用程序失败。
我在设置连接时遗漏了什么?我是否需要在服务器上启用其他功能才能使用IE9?
感谢。
答案 0 :(得分:1)
我认为您正在尝试在那里进行CORS(跨站点源共享)。它与IE9的效果不同,请查看this进行详细讨论,并microsoft page查看确切的限制。它是使用XDomainRequest自定义对象而不是XMLHttpRequest完成的,并且......
编辑:我自己实际上并没有使用过SignalR,这个答案基于CORS。根据@stricq的评论,IE需要长时间轮询才能使用SignalR,如here中所述。