Estoy tratando de crear un servicio C# WCF REST que es llamado por jQuery. Descubrí que jQuery requiere que las llamadas AJAX se realicen bajo la misma política de origen. Tengo algunas preguntas sobre cómo proceder.WCF REST con jQuery AJAX - eliminando/trabajando alrededor de la misma política de origen
Ya lo sé;
1. La solución hacky de JSONP con una devolución de llamada del servidor
2. Demasiada sobrecarga del servidor por tener un proxy entre dominios.
3. Uso de Flash en el navegador para hacer la llamada y configurar crossdomain.xml en mi raíz del servidor WCF.
Prefiero no utilizar esto porque;
1. No quiero usar JSON, o al menos no quiero restringirme a usarlo
2. Me gustaría separar el servidor que sirve páginas estáticas del que sirve el estado de la aplicación.
3. Flash en este día y edad está fuera de la cuestión.
Lo que estoy pensando: ¿hay algo así como el archivo crossdomain.xml de Flash que funciona para jQuery? ¿Es esta política de "origen idéntico" una parte de jQuery o es una restricción en navegadores específicos? Si es solo una parte de jQuery, tal vez intente profundizar en el código para evitarlo.
Editar:
Shreddd consiguió más o menos acertadas, ver más abajo. Para hacer esto en C# creé el siguiente método, que todos sus métodos de servicios necesitan llamar:
private void BypassCrossDomain()
{
WebOperationContext.Current.OutgoingResponse.Headers.Add("Access-Control-Allow-Origin", "*");
}
Es importante señalar que esto permite a los ataques de cross-site scripting, y tampoco se puede utilizar "*" cuando necesite enviar cookies de terceros con su solicitud.
¡Empecé a usar esto recientemente, gracias! – csauve