Partilhar via


Serviço AJAX usando HTTP POST

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

O suporte a AJAX no Windows Communication Foundation (WCF) é 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 de Ajax.

Nota

O procedimento de configuração e as instruções de compilação 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 AJAX no serviço usando o WebScriptServiceHostFactory, assim como no exemplo de serviço AJAX básico.

Ao contrário das solicitações GET, você não pode invocar serviços POST a partir 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 n1 parâmetros 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 clica em um dos botões de operação na página. O serviço responde da mesma forma que no exemplo de serviço AJAX básico, com a solicitação GET.

Para configurar, compilar e executar o exemplo

  1. Certifique-se de executar as instruções de instalação Procedimento de instalação única para os exemplos do Windows Communication Foundation.

  2. Crie a solução PostAjaxService.sln conforme descrito em Criando os exemplos do Windows Communication Foundation.

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