Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Dit artikel helpt u bij het schrijven van een webservice met de naam MathService, waarmee methoden voor het optellen, aftrekken, delen en vermenigvuldigen van twee getallen beschikbaar zijn.
Oorspronkelijke productversie: Visual C# .NET
Oorspronkelijk KB-nummer: 308359
Behoeften
In de volgende lijst worden de aanbevolen hardware, software, vaardigheden en kennis beschreven die u nodig hebt:
- Microsoft Windows
- Internet Information Server
- Visual Studio .NET
In dit artikel wordt ervan uitgegaan dat u bekend bent met het onderwerp: De geïntegreerde ontwikkelomgeving van Visual Studio .NET gebruiken.
Een .asmx-webservice schrijven
Open Visual Studio .NET.
Selecteer Nieuw in het menu Bestand en selecteer Project. Selecteer onder Projecttypen Visual C#-projecten. Selecteer vervolgens ASP.NET webservice onder Sjablonen. Typ MathService in het tekstvak Locatie om de standaardnaam (WebService1) te wijzigen in MathService.
Wijzig de naam van de standaardwebservice die is gemaakt van Service1.asmx in MathService.asmx.
Selecteer Klik om over te schakelen naar de codeweergave in de ontwerpomgeving.
Definieer methoden die de functionaliteit van uw service inkapselen. Elke methode die wordt weergegeven vanuit de service, moet worden gemarkeerd met een
WebMethodkenmerk voor de service. Zonder dit kenmerk wordt de methode niet beschikbaar gesteld vanuit de service.Notitie
Niet elke methode moet het
WebMethodkenmerk hebben. Het is handig om bepaalde implementatiedetails te verbergen die worden aangeroepen door openbare webservicemethoden of voor het geval waarin deWebServiceklasse ook wordt gebruikt in lokale toepassingen. Een lokale toepassing kan elke openbare klasse gebruiken, maar alleenWebMethodmethoden zijn extern toegankelijk als webservices.Voeg de volgende methode toe aan de
MathServicesklasse die u hebt gemaakt:[WebMethod] public int Add(int a, int b) { return(a + b); } [WebMethod] public System.Single Subtract(System.Single A, System.Single B) { return (A - B); } [WebMethod] public System.Single Multiply(System.Single A, System.Single B) { return A * B; } [WebMethod] public System.Single Divide(System.Single A, System.Single B) { if(B == 0) return -1; return Convert.ToSingle(A / B); }Selecteer Bouwen in het menu Bouwen om de webservice te bouwen.
Blader naar de webpagina MathService.asmx om de webservice te testen. Als u de lokale computer instelt om de pagina te hosten, is
http://localhost/MathService/MathService.asmxde URL.
De ASP.NET runtime retourneert een Help-pagina voor webservices die de webservice beschrijft. Op deze pagina kunt u ook verschillende webservicemethoden testen.
Een webservice gebruiken
Open Visual Studio .NET.
Selecteer onder Projecttypen Visual C#-projecten en selecteer vervolgens Consoletoepassing onder Sjablonen.
Voeg een verwijzing voor de MathService-webservice toe aan de nieuwe consoletoepassing.
Met deze stap maakt u een proxyklasse op de clientcomputer. Nadat de proxyklasse bestaat, kunt u objecten maken op basis van de klasse. Elke methode-aanroep die met het object wordt gemaakt, gaat vervolgens naar de URI (Uniform Resource Identifier) van de webservice (meestal als soap-aanvraag).
- Selecteer Webreferentie toevoegen in het menu Project.
- Typ in het dialoogvenster Webreferentie toevoegen de URL voor de webservice in het tekstvak Adres en druk op Enter. Als u de lokale computer instelt om de webservice te hosten, is
http://localhost/MathService/MathService.asmxde URL. - Selecteer Verwijzing toevoegen. U kunt ook de URL naar het detectiebestand (MathService.vsdisco) typen of webverwijzingen op lokale webserver in het linkerdeelvenster selecteren om de MathService-service in de lijst te selecteren.
- Vouw de sectie Webverwijzingen van Solution Explorer uit en noteer de naamruimte die is gebruikt.
Maak een exemplaar van het proxyobject dat is gemaakt. Plaats de volgende code in de functie die wordt aangeroepen
Main:localhost.Service1 myMathService = new localhost.Service1();Roep als volgt een methode aan voor het proxyobject dat u in de vorige stap hebt gemaakt:
Console.Write("2 + 4 = {0}", myMathService.Add(2,4));Selecteer Bouwen in het menu Bouwen om de consoletoepassing te bouwen.
Selecteer Start in het menu Foutopsporing om de toepassing te testen.
Sluit het project en sla het op.
Verwijzingen
Zie het onderwerp Web programmeren met webservices in de Help van Visual Studio .NET of het onderwerp ASP.NET webservices en ASP.NET webserviceclients in de handleiding voor ontwikkelaars van .NET Framework voor meer informatie.
Kijk voor meer informatie op de volgende websites: