Schreiben eines Webdiensts mithilfe von Visual C# .NET
In diesem Artikel erfahren Sie, wie Sie einen Webdienst namens MathService schreiben, der Methoden zum Hinzufügen, Subtrahieren, Dividieren und Multiplizieren von zwei Zahlen verfügbar macht.
Ursprüngliche Produktversion: Visual C# .NET
Ursprüngliche KB-Nummer: 308359
Anforderungen
In der folgenden Liste werden die empfohlenen Hardware, Software, Fähigkeiten und Kenntnisse beschrieben, die Sie benötigen:
- Microsoft Windows
- Internetinformationsserver
- Visual Studio .NET
In diesem Artikel wird davon ausgegangen, dass Sie mit dem Thema vertraut sind: Verwenden der integrierten Entwicklungsumgebung von Visual Studio .NET.
Schreiben eines ASMX-Webdiensts
Öffnen Sie Visual Studio .NET.
Wählen Sie im Menü Datei die Option Neu und dann Projekt aus. Wählen Sie unter Projekttypen die Option Visual C#-Projekte aus. Wählen Sie dann unter VorlagenASP.NET Webdienst aus. Geben Sie MathService in das Textfeld Speicherort ein, um den Standardnamen (WebService1) in MathService zu ändern.
Ändern Sie den Namen des Standardwebdiensts, der von Service1.asmx in MathService.asmx erstellt wird.
Wählen Sie Klicken Sie aus , um in der Designerumgebung zur Codeansicht zu wechseln.
Definieren Sie Methoden, die die Funktionalität Ihres Diensts kapseln. Jede Methode, die vom Dienst verfügbar gemacht wird, muss mit einem
WebMethod
-Attribut gekennzeichnet sein. Ohne dieses Attribut wird die Methode nicht vom Dienst verfügbar gemacht.Hinweis
Nicht jede Methode muss über das
WebMethod
-Attribut verfügen. Es ist hilfreich, einige Implementierungsdetails auszublenden, die von öffentlichen Webdienstmethoden aufgerufen werden, oder für den Fall, in dem dieWebService
-Klasse auch in lokalen Anwendungen verwendet wird. Eine lokale Anwendung kann jede öffentliche Klasse verwenden, aber nurWebMethod
Methoden sind als Webdienste remote zugänglich.Fügen Sie der von Ihnen erstellten Klasse die
MathServices
folgende Methode hinzu:[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); }
Wählen Sie im Menü Erstellen die Option Erstellen aus, um den Webdienst zu erstellen.
Navigieren Sie zur Seite MathService.asmx-Webdienst , um den Webdienst zu testen. Wenn Sie den lokalen Computer zum Hosten der Seite festlegen, lautet
http://localhost/MathService/MathService.asmx
die URL .
Die ASP.NET Runtime gibt eine Webdienst-Hilfeseite zurück, die den Webdienst beschreibt. Auf dieser Seite können Sie auch verschiedene Webdienstmethoden testen.
Nutzen eines Webdiensts
Öffnen Sie Visual Studio .NET.
Wählen Sie unter Projekttypendie Option Visual C#-Projekte und dann konsolenanwendung unter Vorlagen aus.
Fügen Sie der neuen Konsolenanwendung einen Verweis für den MathService-Webdienst hinzu.
In diesem Schritt wird eine Proxyklasse auf dem Clientcomputer erstellt. Nachdem die Proxyklasse vorhanden ist, können Sie Objekte basierend auf der -Klasse erstellen. Jeder Methodenaufruf, der mit dem -Objekt erfolgt, geht dann an den URI (Uniform Resource Identifier) des Webdiensts (in der Regel als SOAP-Anforderung) aus.
- Wählen Sie im Menü Projekt die Option Webverweis hinzufügen aus.
- Geben Sie im Dialogfeld Webverweis hinzufügen die URL für den Webdienst in das Textfeld Adresse ein, und drücken Sie die EINGABETASTE. Wenn Sie den lokalen Computer zum Hosten des Webdiensts festlegen, lautet
http://localhost/MathService/MathService.asmx
die URL . - Klicken Sie auf Verweis hinzufügen. Alternativ können Sie die URL zur Ermittlungsdatei (MathService.vsdisco) eingeben oder Webverweise auf lokalem Webserver im linken Bereich auswählen, um den MathService-Dienst aus der Liste auszuwählen.
- Erweitern Sie den Abschnitt Webverweise von Projektmappen-Explorer, und notieren Sie sich den verwendeten Namespace.
Erstellen Sie eine instance des erstellten Proxyobjekts. Platzieren Sie den folgenden Code in der Funktion namens
Main
:localhost.Service1 myMathService = new localhost.Service1();
Rufen Sie wie folgt eine Methode für das Proxyobjekt auf, das Sie im vorherigen Schritt erstellt haben:
Console.Write("2 + 4 = {0}", myMathService.Add(2,4));
Wählen Sie im Menü Erstellen die Option Erstellen aus, um die Konsolenanwendung zu erstellen.
Wählen Sie im Menü Debuggen die Option Start aus, um die Anwendung zu testen.
Schließen Und speichern Sie das Projekt.
References
Weitere Informationen finden Sie im Thema Programmieren des Webs mit Webdiensten in der .NET-Hilfe zu Visual Studio oder im Thema ASP.NET Webdienste und ASP.NET-Webdienstclients im .NET Framework-Entwicklerhandbuch.
Weitere Informationen finden Sie auf den folgenden Websites:
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für