Aggiornare il config per assomigliare:
<configuration>
<system.web>
<compilation debug="true" targetframework="4.0">
<authentication mode="None">
</authentication></compilation></system.web>
<system.webserver>
<modules runallmanagedmodulesforallrequests="true">
</modules></system.webserver>
<system.servicemodel>
<servicehostingenvironment **aspnetcompatibilityenabled**="true">
<standardendpoints>
<webscriptendpoint>
<standardendpoint **crossdomainscriptaccessenabled**="true" name="">
</standardendpoint></webscriptendpoint>
</standardendpoints>
</servicehostingenvironment></system.servicemodel>
</configuration>
See here for a blog post che fornisce una procedura dettagliata di creazione di un servizio WCF che è accessibile cross-domain.
Ciò consentirà al servizio di accettare richieste provenienti da fonti interdominio.
In termini di determinare se per riempire la vostra risposta (la p in jsonp),
Grazie a @carlosfigueira per questo:
Se si utilizza .Net 4 JSONP è supportato in modo nativo. Finché la richiesta ha un parametro stringa di query chiamato "callback" (questo nome può essere configurato), la risposta verrà completata con il nome della funzione .
In caso contrario, è necessario scrivere un'intestazione del messaggio personalizzata che rispecchi la risposta in modo appropriato.
fonte
2011-11-21 22:49:32
Non è necessario scrivere un ispettore personalizzato - in .NET 4.0 JSONP è supportato in modo nativo. Finché la richiesta ha un parametro stringa di query chiamato "callback" (questo nome può essere configurato), la risposta verrà riempita con il nome della funzione (dato che crossDomainScriptAccessEnabled è impostato su true, come hai detto) – carlosfigueira
@carlosfigueira Molte grazie per questa pepita di informazioni, le mie ultime incursioni nel mondo di jsonp e WCF erano in. 3.5 3.5. Rispondi ora aggiornato. Grande blog a proposito! –