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
Certifique-se de executar as instruções de instalação Procedimento de instalação única para os exemplos do Windows Communication Foundation.
Crie a solução PostAjaxService.sln conforme descrito em Criando os exemplos do Windows Communication Foundation.
Navegue até
http://localhost/ServiceModelSamples/PostAjaxClientPage.aspx
(não abra PostAjaxClientPage.aspx no navegador a partir do diretório do projeto).