Delen via


Procedure: Configuratie gebruiken om een ASP.NET AJAX-eindpunt toe te voegen

Met Windows Communication Foundation (WCF) kunt u een service maken waarmee een ASP.NET AJAX-eindpunt beschikbaar wordt gemaakt dat kan worden aangeroepen vanuit JavaScript op een clientwebsite. Als u een dergelijk eindpunt wilt maken, kunt u een configuratiebestand gebruiken, net als bij alle andere WCF-eindpunten (Windows Communication Foundation) of een methode gebruiken waarvoor geen configuratie-elementen zijn vereist. In dit onderwerp wordt de configuratiebenadering gedemonstreert.

Het deel van de procedure waarmee het service-eindpunt kan worden ASP.NET AJAX-ingeschakeld, bestaat uit het configureren van het eindpunt om het WebHttpBinding eindpunt te gebruiken en het gedrag van het <enableWebScript-eindpunt> toe te voegen. Na het configureren van het eindpunt zijn de stappen voor het implementeren en hosten van de service vergelijkbaar met de stappen die door een WCF-service worden gebruikt. Zie voor een werkend voorbeeld de AJAX-service met HTTP POST.

Zie Een ASP.NET AJAX-eindpunt toevoegen zonder configuratie te gebruiken voor meer informatie over het configureren van een ASP.NET AJAX-eindpunt zonder configuratie.

Een eenvoudige WCF-service maken

  1. Definieer een eenvoudig WCF-servicecontract met een interface die is gemarkeerd met het ServiceContractAttribute kenmerk. Markeer elke bewerking met de OperationContractAttribute. Zorg ervoor dat u de Namespace eigenschap instelt.

    [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. Implementeer het ICalculator servicecontract met een CalculatorService.

    public class CalculatorService : ICalculator  
    {  
        public double Add(double n1, double n2)  
        {  
            return n1 + n2;  
        }
        // Other operations omitted…
    }
    
  3. Definieer een naamruimte voor de ICalculator en CalculatorService implementaties door deze in een naamruimteblok te verpakken.

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

Een ASP.NET AJAX-eindpunt voor de service maken

  1. Maak een gedragsconfiguratie en geef het <enableWebScript-gedrag> op voor ASP.NET ajax-eindpunten van de service.

    <system.serviceModel>  
        <behaviors>  
            <endpointBehaviors>  
                <behavior name="AspNetAjaxBehavior">  
                    <enableWebScript />  
                </behavior>  
            </endpointBehaviors>  
        </behaviors>  
    </system.serviceModel>  
    
  2. Maak een eindpunt voor de service die gebruikmaakt van het WebHttpBinding en het ASP.NET AJAX-gedrag dat in de vorige stap is gedefinieerd.

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

De service hosten in IIS

  1. Als u de service in IIS wilt hosten, maakt u een nieuw bestand met de naam service met de extensie .svc in de toepassing. Bewerk dit bestand door de juiste @ServiceHost instructiegegevens voor de service toe te voegen. De inhoud in het servicebestand voor het CalculatorService voorbeeld bevat bijvoorbeeld de volgende informatie.

    <%@ServiceHost
    language=c#
    Debug="true"
    Service="Microsoft.Ajax.Samples.CalculatorService"  
    %>  
    
  2. Zie How to: Host a WCF Service in IIS (Een WCF-service hosten in IIS) voor meer informatie over hosting in IIS.

De service aanroepen

  1. Het eindpunt is geconfigureerd op een leeg adres ten opzichte van het .svc-bestand, zodat de service nu beschikbaar is en kan worden aangeroepen door aanvragen te verzenden naar service.svc/<operation> , bijvoorbeeld service.svc/Add voor de Add bewerking. U kunt deze gebruiken door de eindpunt-URL in te voeren in de verzameling Scripts van het besturingselement ASP.NET AJAX Script Manager. Zie bijvoorbeeld de AJAX-service met HTTP POST.

Zie ook