Schreiben eines Webdiensts mithilfe von Visual C# .NET
Dieser Artikel hilft Ihnen beim Schreiben eines Webdiensts namens MathService, der Methoden zum Hinzufügen, Subtrahieren, Dividieren und Multiplizieren von zwei Zahlen verfügbar macht.
Originalversion des Produkts: 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 .NET-Entwicklungsumgebung Visual Studio.
Schreiben eines ASMX-Webdiensts
Öffnen Sie Visual Studio .NET.
Wählen Sie im Menü "Datei" die Option "Neu" und dann Project aus. Wählen Sie unter Project Typen Visual C#-Projekte aus. Wählen Sie dann unter "Vorlagen**" ASP.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 " erstellt wird, in "MathService.asmx".
Wählen Sie "Klicken" 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
WebMethodAttribut davor gekennzeichnet werden. Ohne dieses Attribut wird die Methode nicht vom Dienst verfügbar gemacht.Hinweis
Nicht jede Methode muss über das
WebMethodAttribut verfügen. Es ist hilfreich, einige Implementierungsdetails auszublenden, die von öffentlichen Webdienstmethoden aufgerufen werden, oder für den Fall, dass dieWebServiceKlasse auch in lokalen Anwendungen verwendet wird. Eine lokale Anwendung kann jede öffentliche Klasse verwenden, aber nurWebMethodMethoden sind als Webdienste remote zugänglich.Fügen Sie der erstellten Klasse die
MathServicesfolgende 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 MathService.asmx-Webdienstseite , um den Webdienst zu testen. Wenn Sie den lokalen Computer so festlegen, dass die Seite gehostet wird, lautet
http://localhost/MathService/MathService.asmxdie URL .
Die ASP.NET-Laufzeit gibt eine Webdiensthilfeseite 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 Project Typen "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 ausgeführt wird, wird dann an den URI (Uniform Resource Identifier) des Webdiensts (in der Regel als SOAP-Anforderung) gesendet.
- Wählen Sie im Menü Project die Option "Webreferenz hinzufügen" aus.
- Geben Sie im Dialogfeld " Webreferenz 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.asmxdie URL . - Klicken Sie auf Verweis hinzufügen. Alternativ können Sie die URL zur Ermittlungsdatei (MathService.vsdisco) eingeben oder webverweise auf dem lokalen 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 Instanz des Proxyobjekts, das erstellt wurde. 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 Sie das Projekt, und speichern Sie es.
References
Weitere Informationen finden Sie im Thema "Programmieren des Webs mit Webdiensten" in der Visual Studio .NET-Hilfe oder im Thema ASP.NET Webdienste und ASP.NET Webdienstclients im .NET Framework Entwicklerhandbuch.
Weitere Informationen finden Sie auf den folgenden Websites: