Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O exemplo ComplexTypeAjaxService demonstra como usar o WCF (Windows Communication Foundation) para criar um serviço javaScript e XML (AJAX) assíncrono ASP.NET que cria instâncias de tipos complexos e os envia entre o serviço e o cliente como JSON (JavaScript Object Notation). Você pode acessar um serviço AJAX usando o código JavaScript de um cliente do navegador da Web. Este exemplo se baseia no exemplo básico do Serviço AJAX .
O suporte a AJAX no 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 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. Como o WebGetAttribute atributo não é aplicado, o verbo HTTP padrão ("POST") é usado. O serviço tem uma operação, DoMathque retorna um tipo complexo chamado MathResult. O tipo complexo é um tipo de contrato de dados padrão, que também não contém nenhum código específico do AJAX.
[DataContract]
public class MathResult
{
[DataMember]
public double sum;
[DataMember]
public double difference;
[DataMember]
public double product;
[DataMember]
public double quotient;
}
Crie um ponto de extremidade de AJAX no serviço usando o WebScriptServiceHostFactory, como no exemplo do Serviço AJAX básico.
A página da Web do cliente ComplexTypeClientPage.aspx contém ASP.NET e código JavaScript para invocar o serviço quando o usuário clicar no botão Executar cálculo na página. O código para invocar o serviço constrói um corpo JSON e o envia usando HTTP POST, semelhante ao serviço AJAX usando o exemplo HTTP POST .
Depois que a chamada de serviço for bem-sucedida, você poderá acessar os membros de dados individuais (sumdifferenceproducte quotient) no objeto JavaScript resultante.
function onSuccess(mathResult){
document.getElementById("sum").value = mathResult.sum;
document.getElementById("difference").value = mathResult.difference;
document.getElementById("product").value = mathResult.product;
document.getElementById("quotient").value = mathResult.quotient;
}
Para configurar, compilar e executar o exemplo
Verifique se você executou o Procedimento de instalação avulsa dos exemplos do Windows Communication Foundation.
Crie a solução ComplexTypeAjaxService.sln conforme descrito na criação dos exemplos do Windows Communication Foundation.
Navegue até
http://localhost/ServiceModelSamples/ComplexTypeClientPage.aspx(não abra ComplexTypeClientPage.aspx no navegador do diretório do projeto).