Windows Communication Foundation è un framework che permette la realizzazione di servizi ed esporli nei più svariati modi. Dalla versione 3.5 del .NET Framework è possibile tra questi anche utilizzare HTTP con semplici chiamate REST e POX facilmente interrogabili da Javascript, soprattutto con tool come jQuery che permettono di leggere JSON e XML facilmente.
Nella versione 4.0 di WCF è stato aggiunto il supporto anche a JSONP (JSON with Padding) che in modo simile a JSON, contiene come guscio della risposta il nome di una funzione Javascript da richiamare. Questo trucco permette a script di altri siti/domini di poter chiamare il servizio grazie al tag SCRIPT, il quale non è sottoposto alle restrizioni di sicurezza che invece xmlHttpRequest ha.
Sebbene può sembrare un bug di sicurezza, JSONP richiede la complicità di chi offre il servizio. In WCF 4.0 per farlo basta agire nel web.config.
<system.serviceModel> <behaviors> <bindings> <webHttpBinding> <binding name="WebApi" crossDomainScriptAccessEnabled="true" /> </webHttpBinding> </bindings> </behaviors> </system.serviceModel>
Impostando a true la proprietà crossDomainScriptAccessEnabled del webHttpBinding si permette di chiamare il servizio indicando con il parametro in querystring, di nome callback, il nome della funzione Javascript con la quale racchiudere la risposta. E' possibile inoltre cambiare il nome del parametro querystring sfruttando l'attributo JavascriptCallbackBehavior da porre sulla classe del servizio.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
I più letti di oggi
- Beta 1 di VS 2005 Enterprise Architect
- Point-in-time restore con gli Azure Storage Blob
- Focus dei tag input con HTML5
- Il nuovo tag nav in HTML5
- Evitare la modalità di risparmio energetico in una Windows Store app
- Real Code Day 4.0: costruire applicazioni reali - Firenze
- AI&ML Conference 2019 - Milano
- Mono 0.12: verso una nuova implementazione di ASP.NET