Condividi tramite


Esempio di servizio AJAX che utilizza tipi complessi

Questo esempio illustra come utilizzare Windows Communication Foundation (WCF) per creare un servizio AJAX (ASP.NET Asynchronous JavaScript e XML) che crea istanze di tipi complessi e li invia tra servizio e client come JSON (JavaScript Object Notation). È possibile accedere a un servizio AJAX utilizzando codice JavaScript a partire da un client del browser Web. Questo esempio si basa sull'esempio Servizio AJAX di base.

Nota

Per poter essere generato ed eseguito, l'esempio richiede che sia installato .NET Framework versione 3.5. Per aprire il progetto e i file della soluzione è necessario Visual Studio 2008.

Il supporto AJAX in WCF è ottimizzato per l'utilizzo con ASP.NET AJAX tramite il controllo ScriptManager. Per un esempio di utilizzo di WCF con ASP.NET AJAX, vedere Esempi di AJAX.

Nota

La procedura di installazione e le istruzioni di compilazione per questo esempio si trovano alla fine dell'argomento.

Il servizio dell'esempio seguente è un servizio WCF senza codice specifico per AJAX. Perché l'attributo WebGetAttribute non è applicato, viene utilizzato il verbo HTTP predefinito ("POST"). Il servizio ha un'operazione, DoMathche restituisce un tipo complesso denominato MathResult. Il tipo complesso è un tipo di contratto dati standard che non contiene codice AJAX specifico.

[DataContract]
    public class MathResult
    {
        [DataMember]
        public double sum;
        [DataMember]
        public double difference;
        [DataMember]
        public double product;
        [DataMember]
        public double quotient;
    }

Creare un endpoint AJAX nel servizio utilizzando l'associazione standard WebHttpBinding e il comportamento <enableWebScript> nel file di configurazione del servizio, in modo analogo all'esempio Servizio AJAX di base.

La pagina Web ComplexTypeClientPage.aspx del client contiene il codice ASP.NET e JavaScript per richiamare il servizio quando l'utente fa clic sul pulsante Esegui calcolo nella pagina. Il codice per richiamare il servizio costruisce un corpo JSON e lo invia utilizzando HTTP POST, in modo simile all'esempio Servizio AJAX con il protocollo HTTP POST.

Dopo che la chiamata del servizio riesce, è possibile accedere ai membri dati singoli (sum, difference, product e quotient) sull'oggetto JavaScript risultante.

function onSuccess(mathResult){
     document.getElementById("sum").value = mathResult.sum;
     document.getElementById("difference").value = mathResult.difference;
     document.getElementById("product").value = mathResult.product;
     document.getElementById("quotient").value = mathResult.quotient;
}

Per impostare, compilare ed eseguire l'esempio

  1. Assicurarsi di aver eseguito la Procedura di installazione singola per gli esempi di Windows Communication Foundation.

  2. Compilare la soluzione ComplexTypeAjaxService.sln come descritto in Generazione degli esempi Windows Communication Foundation.

  3. Spostarsi alla pagina https://localhost/ServiceModelSamples/ComplexTypeClientPage.aspx (non aprire ComplexTypeClientPage.aspx nel browser all'interno della directory del progetto).

Vedere anche

Attività

Servizio AJAX di base

Send comments about this topic to Microsoft.
© 2007 Microsoft Corporation. All rights reserved.