Servicio AJAX mediante el uso de ejemplo de tipos complejos
Este ejemplo muestra cómo utilizar Windows Communication Foundation (WCF) para crear un servicio ASP.NET JavaScript Asincrónico y XML (AJAX) que cree instancias de tipos complejos y los envíe entre el servicio y cliente como notación de objeto JavaScript (JSON). Puede tener acceso a un servicio de AJAX utilizando el código JavaScript de un cliente del explorador web. Este ejemplo parte del ejemplo Servicio AJAX básico.
Nota
En este ejemplo, para generar y ejecutar, es necesario que esté instalado .NET Framework versión 3.5. Para abrir los archivos de solución y proyecto se necesita Visual Studio 2008.
La compatibilidad de AJAX en WCF se optimiza para su uso con AJAX de ASP.NET a través del control ScriptManager. Para obtener un ejemplo sobre cómo usar WCF con AJAX de ASP.NET, consulte Ejemplos de AJAX.
Nota
Las instrucciones de compilación y el procedimiento de instalación de este ejemplo se encuentran al final de este tema.
El servicio en el ejemplo siguiente es un servicio WCF sin el código específico de AJAX. Dado que no se aplica el atributo WebGetAttribute, se utiliza el verbo HTTP predeterminado ("POST"). El servicio tiene una operación, DoMath
, que devuelve un tipo complejo denominado MathResult
. El tipo complejo es un tipo de contrato de datos estándar, que tampoco contiene ningún código específico del AJAX:
[DataContract]
public class MathResult
{
[DataMember]
public double sum;
[DataMember]
public double difference;
[DataMember]
public double product;
[DataMember]
public double quotient;
}
Crea un extremo de AJAX en el servicio utilizando el WebHttpBinding enlace estándar y el comportamiento <enableWebScript> en la configuración de servicio, similar al ejemplo Servicio AJAX básico.
El cliente de la página web ComplexTypeClientPage.aspx contiene ASP.NET y código JavaScript para invocar el servicio cuando el usuario hace clic en el botón Perform calculation en la página. El código para invocar el servicio construye un cuerpo de JSON y lo envía utilizando HTTP POST, similar al ejemplo Servicio AJAX mediante HTTP POST.
Después de que la llamada del servicio tenga éxito, puede tener acceso a los miembros de datos individuales (sum
, difference
, product
y quotient
) en el objeto JavaScript resultante.
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;
}
Para configurar, generar y ejecutar el ejemplo
Asegúrese de que ha realizado Procedimiento de instalación único para ejemplos de Windows Communication Foundation.
Genere la solución ComplexTypeAjaxService.sln tal y como se describe en Generación de ejemplos de Windows Communication Foundation.
Navegue a https://localhost/ServiceModelSamples/ComplexTypeClientPage.aspx (no abra ComplexTypeClientPage.aspx en el explorador del directorio de proyecto).
Consulte también
Otros recursos
Copyright © 2007 Microsoft Corporation. Reservados todos los derechos.