Share via


Servicio AJAX mediante HTTP POST

Download sample

Este ejemplo muestra cómo utilizar Windows Communication Foundation (WCF) para crear un servicio JavaScript asincrónico ASP.NET y XML (AJAX) que utiliza HTTP POST. Un servicio AJAX es un servicio al que puede tener acceso utilizando el código JavaScript básico desde un cliente del explorador web. Este ejemplo se genera en el ejemplo Servicio AJAX básico; la única diferencia entre los dos ejemplos es el uso de HTTP POST en lugar de HTTP GET.

Se ha optimizado la compatibilidad de AJAX en Windows Communication Foundation (WCF) para el uso con AJAX de ASP.NET mediante el control ScriptManager. Para obtener un ejemplo sobre cómo usar WCF con AJAX de ASP.NET, consulte Ejemplos de AJAX.

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.

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.

Si se aplica el atributo WebInvokeAttribute en una operación, o no se aplica el atributo WebGetAttribute, se utilizará el verbo HTTP predeterminado ("POST"). Las solicitudes POST son más difíciles de construir que las solicitudes GET, aunque no están almacenadas en la memoria caché. Use las solicitudes POST para todas las operaciones donde almacenar en memoria caché no es adecuado.

[ServiceContract(Namespace = "PostAjaxService")]
    public interface ICalculator
    {
        [OperationContract]
        [WebInvoke]
        double Add(double n1, double n2);
        //Other operations omitted…
    }

Cree un extremo de AJAX en el servicio utilizando el enlace estándar <webHttpBinding> y el comportamiento <enableWebScript> en el archivo de configuración de servicio, como en el ejemplo Servicio AJAX básico.

A diferencia de las solicitudes GET, no se pueden invocar los servicios POST desde el explorador. Por ejemplo, navegar a https://localhost/ServiceModelSamples/service.svc/Add?n1&n2=200 da como resultado un error, porque el servicio POST espera que se envíen los parámetros n2 y n1 en el cuerpo del mensaje (en el formato JSON) y no en la dirección URL.

La página web del cliente PostAjaxClientPage.aspx contiene el código de ASP.NET para invocar el servicio siempre que el usuario haga clic en uno de los botones de operación en la página. El servicio responde de la misma manera que en el ejemplo Servicio AJAX básico, con la solicitud GET.

Para configurar, generar y ejecutar el ejemplo

  1. Asegúrese de que lleva a cabo las instrucciones de instalación de Procedimiento de instalación único para ejemplos de Windows Communication Foundation.

  2. Genere el PostAjaxService.sln de la solución tal y como se describe en Generación de ejemplos de Windows Communication Foundation.

  3. Navegue hasta https://localhost/ServiceModelSamples/PostAjaxClientPage.aspx (no abra PostAjaxClientPage.aspx en el explorador del directorio de proyecto).

Footer image

Copyright © 2007 Microsoft Corporation. Reservados todos los derechos.