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
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… }
Implementeer het
ICalculator
servicecontract met eenCalculatorService
.public class CalculatorService : ICalculator { public double Add(double n1, double n2) { return n1 + n2; } // Other operations omitted… }
Definieer een naamruimte voor de
ICalculator
enCalculatorService
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
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>
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
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" %>
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
- 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.