¿Cómo evitar la política de dominio cruzado en jquery ajax para consumir el servicio wcf?

¿Cómo evitar la política de dominio cruzado en jquery ajax para consumir el servicio wcf?

¿Qué cambios necesito hacer en web.config para políticas de dominios cruzados?

Si desea realizar llamadas de dominios cruzados de javascript a WCF, debe usar JSONP. Para agregar soporte JSONP a WCF, debe definirlo en WebHttpBinding . La configuración debería verse así:

                  

Para jQuery parte, compruebe por ejemplo este artículo .

Lo tengo que trabajar usando la configuración JQuery (1.5.1) $ .ajax CrossDomain establecida en verdadero.

Lo que aún no entiendo es por qué cuando se usa el atributo [ScriptMethod (ResponseFormat = ResponseFormat.Json)] en el servicio WCF (.NET4), la llamada tiene éxito sin la configuración de dominio cruzado (a web.config y $. ajax) y al usar el atributo [WebGet (ResponseFormat = WebMessageFormat.Json)] requiere la configuración de dominio cruzado en webconfig y $ .ajax llamada. Si utilizo el atributo WebGet sin la configuración de dominios cruzados obtendré un error de “Método no permitido”.

El código WCF se usa:

 [OperationContract] [WebGet(ResponseFormat = WebMessageFormat.Json)] // requires crossdomain settings //[ScriptMethod(ResponseFormat = ResponseFormat.Json)] // no crossdomain settings required public string GetNumber(string id) { return "query response on id: " + id; } 

¿algunas ideas?

Chrome / Firefox no me dejaría hacer esto hasta que establezca explícitamente

 HttpContext.Current.Response.AddHeader("Access-Control-Allow-Origin", "*"); 

en mis llamadas