Sto cercando di implementare il Cross-dominio chiamate con SignalR 1.0.1 con Chrome (Ver 25.0.1364.172). Come ho la mia interfaccia utente in un host (localhost: 16881) e il 'servizio' in un altro host (localhost: 16901).SignalR 1.0.1 richiesta Cross-domain (CORS) con Chrome
ho tutto a posto, come nel tema How to use cross-domain connections (CORS - Access Control Allow Origin) with SignalR
add jQuery.support.cors = true; before opening a connection
set up $.connection.hub.url = 'http://localhost:16901/signalr';, pointing to your subdomain
allow cross-domain requests on server side, by adding the following header description:
<add name="Access-Control-Allow-Origin" value="http://localhost:16881" />
inside system.WebServer/httpProtocol/customHeaders section in Web.config file.
Ho anche il HubConfiguration istituito per il mio percorso di mappatura in Global.asax per SignalR 1.0.1
RouteTable.Routes.MapHubs(new HubConfiguration()
{
EnableCrossDomain = true
});
sguardi Tutto bene in IE10 e FF22. Tuttavia in Chrome, mi dà un senso quando SignalR tenta di fare l'handshake.
XMLHttpRequest cannot load http://localhost:16901/signalr/negotiate?_=1363560032589. Origin http://localhost:16881 is not allowed by Access-Control-Allow-Origin.
so che posso farlo funziona con Chrome lanciando con --disable-web-sicurezza, ma in realtà non sono compatibili con il mio requisito. Per favore aiuto!
Impressionante! È funzionato! Sai perché jQuery.support.cors = true e Access-Control-Allow-Origin potrebbero causare il problema per Chrome? – Adamy
la mia ipotesi è che stavate impostando la cosa sbagliata per Access-Control-Allow-Origin, e che jQuery.support.cors = true. – davidfowl
L'impostazione di jQuery.support.cors su true disabilita JSONP perché induce SignalR a presupporre che il browser supporti CORS. – halter73