2012-03-17 11 views
8

Sto cercando di ottenere un campione di base su domini funzionanti, ma non riesco a farlo funzionare. Secondo qualcuno qui, https://github.com/SignalR/SignalR/issues/6, ha funzionato aggiungendo un'intestazione Access-Control-Allow-Origin.SignalR su domini

Fondamentalmente, ho aggiunto un hub a un'applicazione mvc 3, aggiunto l'intestazione precedente in web.config e creato una pagina per inviare un messaggio. Questa configurazione funziona bene. Successivamente, ho creato un'applicazione web diverso utilizzando lo stesso javascript browser su una pagina, ma l'impostazione dell'URL a un altro server utilizzando:

$.connection.hub.url = 'http://www.myserver.com/signalr'; 

Appena ho utilizzare un URL remoto, si smette di funzionare.

Come posso far funzionare SignalR tra domini?

Aggiornamento: Alcune informazioni aggiunte, l'approccio di cui sopra lavora per Chrome e Firefox, ma IE9 non è gradire ...

+0

Con quale browser si sta effettuando il test? Non tutti i browser supportano l'intestazione 'Access-Control-Allow-Origin'. –

+0

Sto usando IE9 e Chrome –

risposta

9

ho ottenuto che funziona utilizzando un semplice progetto di test e Internet Explorer 9, ma wasn è facile e per prima cosa sono stato appeso agli stessi problemi che hai descritto. Penso che siete quasi arrivati ​​e si sono manca solo la seguente riga nel vostro JavaScript:

jQuery.support.cors = true; 

che racconta jQuery per fare chiamate tra domini diversi. Sembra semplice, ma è stato davvero difficile da trovare ;-)

Ho spiegato tutti i passaggi che ho fatto in un blog post poiché non ho trovato alcuna informazione esistente su questo argomento finora.

Dimmi se ci sono altri problemi. Ho un progetto di test di lavoro in esecuzione in Internet Explorer 9 che posso inviare.

+0

Grazie, ha funzionato! Esegue un'eccezione di accesso negata in background sul frame per sempre (var $ = window.parent.jQuery per la precisione) e l'utente riceve un messaggio popup per consentire cors, ma invia e riceve i messaggi! –

+0

Strano, non ho ricevuto alcun messaggio popup ... È presente in IE o in un altro browser? Felice che funzioni :-) – aKzenT

+0

Questo è davvero in IE9. Spero che ricevano presto il supporto ufficiale per il dominio incrociato in SignalR :) –