Compartilhar via


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

O WCF (Windows Communication Foundation) permite que você crie um serviço que disponibiliza um ponto de extremidade habilitado para ASP.NET AJAX 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 em todos os outros pontos de extremidade do WCF (Windows Communication Foundation), 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 de serviço se torne habilitado para ASP.NET AJAX consiste em configurar o ponto de extremidade para usar 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 funcional, consulte o Serviço AJAX usando HTTP POST.

Para obter mais informações sobre como configurar um ponto de extremidade ASP.NET AJAX 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 atributo ServiceContractAttribute. Marque cada operação com o OperationContractAttribute. Certifique-se de definir a propriedade Namespace.

    [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 contrato de serviço ICalculator com um CalculatorService.

    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 ICalculator e CalculatorService, encapsulando-as 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 pontos de extremidade habilitados para ASP.NET 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 comportamento ASP.NET 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 serviço com uma extensão .svc no aplicativo. Edite esse arquivo adicionando as informações de diretiva de @ServiceHost apropriadas ao serviço. Por exemplo, o conteúdo no arquivo de serviço do exemplo CalculatorService contém as informações a seguir.

    <%@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 chamar o serviço

  1. O ponto de extremidade está configurado em um endereço vazio em relação 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 operação Add. Você pode usá-la inserindo a URL do ponto de extremidade na coleção Scripts do controle do Gerenciador de Scripts do ASP.NET AJAX. Para obter um exemplo, consulte o Serviço AJAX usando HTTP POST.

Confira também