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
Evitare memory leaks nelle closure JavaScript
Gestione degli eventi nei Web component HTML
Gestire codice JavaScript con code splitting e lazy loading
Gestire progetti .NET + React in .NET Aspire
Implementare il throttle in JavaScript
Introduzione ai web component HTML
Fornire parametri ad un Web component HTML
Gestire progetti NPM in .NET Aspire
I più letti di oggi
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- Documentare i servizi REST con Swagger e OpenAPI con .NET 9
- Impersonation di utente per l'esecuzione di codice in una pagina ASP.NET
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!