Serviço AJAX utilizando HTTP POST
O exemplo de PostAjaxService demonstra como usar o WCF (Windows Communication Foundation) para criar um serviço ASP.NET Assíncrono JavaScript e XML (AJAX) que usa HTTP POST. Um serviço AJAX é aquele que você pode acessar usando o código JavaScript básico de um cliente a partir do navegador da Web. Este exemplo se baseia no exemplo do 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 WCF (Windows Communication Foundation) é otimizado para uso com AJAX do ASP.NET por meio do controle ScriptManager
. Para obter um exemplo de como usar o WCF com ASP.NET AJAX, consulte as amostras do Ajax.
Observação
O procedimento de instalação e as instruções de compilação dessa amostra estão no final deste tópico.
O serviço no exemplo a seguir é um serviço WCF sem código específico de AJAX.
Se o atributo WebInvokeAttribute for aplicado em uma operação ou o atributo WebGetAttribute 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, não é possível invocar serviços POST a partir do navegador. Por exemplo, navegar para http://localhost/ServiceModelSamples/service.svc/Add?n1=100&n2=200
resultará em um erro, porque o serviço POST espera que os parâmetros e n1
os 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 código ASP.NET 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 do Serviço AJAX básico, com a solicitação GET.
Para configurar, compilar, e executar o exemplo
Verifique se você executa as instruções de instalação no Procedimento de Instalação Única para os Exemplos do Windows Communication Foundation.
Crie a solução PostAjaxService.sln conforme descrito na criação de exemplos do Windows Communication Foundation.
Navegue até
http://localhost/ServiceModelSamples/PostAjaxClientPage.aspx
(não abra PostAjaxClientPage.aspx no navegador do diretório do projeto).