I'm making an application using SignalR.
The Hub is placed on one server running Windows Server 2012 with IIS 8. http://mentor.cloudapp.net/mass/rexona/previa/signalr/hubs.
The client is here: http://massdeveloperstage.com/Rexona/Site/colombia/Previa/Match?matchId=6F318A29-3400-444B-95D9-7EC41A7AD2D4
The Signalr set up looks like this:
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!");
});
Everything works perfectly in Chrome, FF, Opera and in IE10, but when it's accessed using IE9 the application fails.
Am I missing something in the set up of the connection? Do I need to enable something else on the server in order to work with IE9?
Thanks.
I think you're trying to do CORS (Cross-Site Origin Sharing) there. It doesn't work quite like that with IE9, check this for detailed discussion, and microsoft page for the exact limitations. It is done with XDomainRequest custom object instead of XMLHttpRequest, and...
Edit: I haven't actually ever used SignalR myself, this answer was based on CORS in general. According to a comment by @stricq, IE needs long polling enabled for this to work with SignalR, as explained in here.