Compartir a través de


Servicio AJAX mediante HTTP POST

El ejemplo PostAjaxService muestra cómo usar Windows Communication Foundation (WCF) para crear un servicio AJAX (Asynchronous JavaScript and XML) de ASP.NET que utiliza HTTP POST. Un servicio AJAX es aquel al que puede acceder mediante código JavaScript básico desde un cliente del explorador web. Este ejemplo se basa en el ejemplo de servicio AJAX básico ; la única diferencia entre los dos ejemplos es el uso de HTTP POST en lugar de HTTP GET.

La compatibilidad con AJAX en Windows Communication Foundation (WCF) está optimizada para su uso con ASP.NET AJAX a través del ScriptManager control . Para obtener un ejemplo de uso de WCF con ASP.NET AJAX, consulte los ejemplos de Ajax.

Nota:

El procedimiento de instalación y las instrucciones de compilación de este ejemplo se encuentran al final de este tema.

El servicio del ejemplo siguiente es un servicio WCF sin código específico de AJAX.

Si el WebInvokeAttribute atributo se aplica en una operación o el WebGetAttribute atributo no se aplica, se usa el verbo HTTP predeterminado ("POST"). Las solicitudes POST son más difíciles de construir que las solicitudes GET, pero no se almacenan en caché; use solicitudes POST para todas las operaciones en las que el almacenamiento en caché no sea adecuado.

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

Cree un punto de conexión AJAX en el servicio usando WebScriptServiceHostFactory, tal como en el ejemplo de servicio AJAX básico.

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

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

Para configurar, compilar y ejecutar el ejemplo

  1. Asegúrese de realizar las instrucciones de instalación One-Time procedimiento de instalación para los ejemplos de Windows Communication Foundation.

  2. Compile la solución PostAjaxService.sln tal y como se describe en Compilar ejemplos de Windows Communication Foundation.

  3. Vaya a http://localhost/ServiceModelSamples/PostAjaxClientPage.aspx (no abra PostAjaxClientPage.aspx en el explorador desde el directorio del proyecto).