2012-03-17 32 views
8

Estoy tratando de obtener una muestra básica en todos los dominios, pero no puedo hacer que funcione. De acuerdo con alguien aquí https://github.com/SignalR/SignalR/issues/6 lo consiguió para trabajar agregando un encabezado Access-Control-Allow-Origin.SignalR across domains

Básicamente, he agregado un concentrador a una aplicación mvc 3, agregué el encabezado anterior en el archivo web.config y creé una página para enviar un mensaje. Esta configuración funciona bien. A continuación, he creado una aplicación web diferente utilizando la misma Javascript cliente en una página, pero el establecimiento de la ruta de un servidor diferente usando:

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

Tan pronto como usar una URL remota deja de funcionar.

¿Cómo puedo hacer que SignalR funcione en todos los dominios?

Actualización: Parte de la información adicional, el enfoque anterior funciona para Chrome y Firefox, pero IE9 no es gusto que ...

+0

¿Con qué navegador estás probando? No todos los navegadores admiten el encabezado 'Access-Control-Allow-Origin'. –

+0

He estado usando IE9 y Chrome –

Respuesta

9

Lo tengo trabajo mediante un proyecto de prueba sencilla e Internet Explorer 9, pero no era Es fácil y primero me obsesionaron con los mismos problemas que usted describió. Creo que está casi allí y sólo se echa en falta la siguiente línea en su código JavaScript:

jQuery.support.cors = true; 

que cuenta jQuery para hacer llamadas entre dominios. Parece simple, pero fue realmente difícil de encontrar ;-)

Expliqué todos los pasos que hice en un blog post ya que no encontré ninguna información existente sobre este tema hasta el momento.

Dime si hay más problemas. Tengo un proyecto de prueba en ejecución en Internet Explorer 9 que puedo enviarte.

+0

¡Gracias, funcionó! Lanza una excepción de acceso denegado en segundo plano en el marco forever (var $ = window.parent.jQuery para ser exactos), y el usuario recibe un mensaje emergente para permitir cors, ¡pero envía y recibe los mensajes! –

+0

Extraño, no recibí ningún mensaje emergente ... ¿Es esto en IE u otro navegador? Me alegro de que funcione :-) – aKzenT

+0

Esto está en IE9 de hecho. Espero que reciban soporte oficial de dominio cruzado pronto en SignalR :) –