Partilhar via


Como usar a configuração para adicionar um ponto de extremidade AJAX ASP.NET

O Windows Communication Foundation (WCF) permite que você crie um serviço que disponibiliza um ponto de extremidade habilitado para AJAX ASP.NET que pode ser chamado do JavaScript em um site cliente. Para criar esse ponto de extremidade, você pode usar um arquivo de configuração, como com todos os outros pontos de extremidade do Windows Communication Foundation (WCF), ou usar um método que não exija nenhum elemento de configuração. Este tópico demonstra a abordagem de configuração.

A parte do procedimento que permite que o ponto de extremidade do serviço se torne ASP.NET habilitado para AJAX consiste em configurar o ponto de extremidade para usar o WebHttpBinding e adicionar o comportamento do< ponto de extremidade enableWebScript>. Depois de configurar o ponto de extremidade, as etapas para implementar e hospedar o serviço são semelhantes às usadas por qualquer serviço WCF. Para obter um exemplo de trabalho, consulte o serviço AJAX usando HTTP POST.

Para obter mais informações sobre como configurar um ponto de extremidade AJAX ASP.NET sem usar a configuração, consulte Como adicionar um ponto de extremidade AJAX ASP.NET sem usar a configuração.

Para criar um serviço WCF básico

  1. Defina um contrato de serviço WCF básico com uma interface marcada com o ServiceContractAttribute atributo. Marque cada operação com o OperationContractAttributearquivo . Certifique-se de definir a Namespace propriedade.

    [ServiceContract(Namespace = "MyService")]  
    public interface ICalculator  
    {  
        [OperationContract]  
         // This operation returns the sum of d1 and d2.  
        double Add(double n1, double n2);  
    
        //Other operations omitted…  
    
    }  
    
  2. Implemente o ICalculator contrato de serviço com um CalculatorServicearquivo .

    public class CalculatorService : ICalculator  
    {  
        public double Add(double n1, double n2)  
        {  
            return n1 + n2;  
        }
        // Other operations omitted…
    }
    
  3. Defina um namespace para as implementações e CalculatorService envolvendo-as ICalculator em um bloco de namespace.

    namespace Microsoft.Ajax.Samples
    {  
        //Include the code for ICalculator and Calculator here.  
    }  
    

Para criar um ponto de extremidade AJAX ASP.NET para o serviço

  1. Crie uma configuração de comportamento e especifique o <comportamento enableWebScript> para ASP.NET pontos de extremidade habilitados para AJAX do serviço.

    <system.serviceModel>  
        <behaviors>  
            <endpointBehaviors>  
                <behavior name="AspNetAjaxBehavior">  
                    <enableWebScript />  
                </behavior>  
            </endpointBehaviors>  
        </behaviors>  
    </system.serviceModel>  
    
  2. Crie um ponto de extremidade para o serviço que usa o WebHttpBinding e o ASP.NET comportamento AJAX definido na etapa anterior.

    <system.serviceModel>  
        <services>  
            <service name="Microsoft.Ajax.Samples.CalculatorService">  
                <endpoint address=""  
                    behaviorConfiguration="AspNetAjaxBehavior"
                    binding="webHttpBinding"  
                    contract="Microsoft.Ajax.Samples.ICalculator" />  
            </service>  
        </services>  
    </system.serviceModel>
    

Para hospedar o serviço no IIS

  1. Para hospedar o serviço no IIS, crie um novo arquivo chamado service com uma extensão .svc no aplicativo. Edite este arquivo adicionando as informações apropriadas da diretiva @ServiceHost para o serviço. Por exemplo, o conteúdo no arquivo de serviço para o CalculatorService exemplo contém as seguintes informações.

    <%@ServiceHost
    language=c#
    Debug="true"
    Service="Microsoft.Ajax.Samples.CalculatorService"  
    %>  
    
  2. Para obter mais informações sobre hospedagem no IIS, consulte Como hospedar um serviço WCF no IIS.

Para ligar para o serviço

  1. O ponto de extremidade é configurado em um endereço vazio relativo ao arquivo .svc, portanto, o serviço agora está disponível e pode ser invocado enviando solicitações para service.svc/<operation> - por exemplo, service.svc/Add para a Add operação. Você pode usá-lo inserindo a URL do ponto de extremidade na coleção Scripts do controle ASP.NET AJAX Script Manager. Para obter um exemplo, consulte o serviço AJAX usando HTTP POST.

Consulte também