Compartilhar via


Serviço AJAX usando HTTP POST

O exemplo postAjaxService demonstra como usar o WCF (Windows Communication Foundation) para criar um serviço javaScript e XML (AJAX) assíncrono ASP.NET que usa HTTP POST. Um serviço AJAX é aquele que você pode acessar usando código JavaScript básico de um cliente do navegador da Web. Este exemplo se baseia no exemplo básico do Serviço AJAX ; a única diferença entre os dois exemplos é o uso de HTTP POST em vez de HTTP GET.

O suporte a AJAX no WCF (Windows Communication Foundation) é otimizado para uso com ASP.NET AJAX por meio do ScriptManager controle. Para obter um exemplo de como usar o WCF com ASP.NET AJAX, consulte os Exemplos do Ajax.

Observação

O procedimento de instalação e as instruções de build para este exemplo estão localizados no final deste tópico.

O serviço no exemplo a seguir é um serviço WCF sem código específico do AJAX.

Se o WebInvokeAttribute atributo for aplicado em uma operação ou o WebGetAttribute atributo não for aplicado, o verbo HTTP padrão ("POST") será usado. As solicitações POST são mais difíceis de construir do que as solicitações GET, mas não são armazenadas em cache; use solicitações POST para todas as operações em que o cache não é apropriado.

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

Crie um ponto de extremidade de AJAX no serviço usando o WebScriptServiceHostFactory, como no exemplo do Serviço AJAX básico.

Ao contrário das solicitações GET, você não pode invocar serviços POST do navegador. Por exemplo, navegar para http://localhost/ServiceModelSamples/service.svc/Add?n1=100&n2=200 resulta em um erro, porque o serviço POST espera que os parâmetros n1 e n2 sejam enviados no corpo da mensagem no formato JSON, e não na URL.

A página da Web do cliente PostAjaxClientPage.aspx contém ASP.NET código para invocar o serviço sempre que o usuário clicar em um dos botões de operação na página. O serviço responde da mesma forma que no exemplo básico do Serviço AJAX , com a solicitação GET.

Para configurar, compilar e executar o exemplo

  1. Verifique se você executa as instruções de instalação One-Time procedimento de instalação para os exemplos do Windows Communication Foundation.

  2. Crie a solução PostAjaxService.sln conforme descrito na criação dos exemplos do Windows Communication Foundation.

  3. Navegue até http://localhost/ServiceModelSamples/PostAjaxClientPage.aspx (não abra PostAjaxClientPage.aspx no navegador do diretório do projeto).