Exemplarische Vorgehensweise: Erstellen eines Webdiensts mit Visual Basic oder Visual C#
In der folgenden exemplarischen Vorgehensweise wird das Erstellen eines Webdiensts mit Visual Basic oder C# beschrieben, der in Fahrenheit gemessene Temperaturwerte in Celsius umrechnet.
Im Verlauf dieser exemplarischen Vorgehensweise führen Sie die folgenden Schritte aus:
Erstellen eines Webdiensts unter Verwendung der Projektvorlage für ASP.NET-Webdienste.
Implementieren des Webdiensts
Ausführen des Webdiensts im Debugmodus
Bereitstellen des Webdiensts
Für das Durcharbeiten der exemplarischen Vorgehensweise benötigen Sie einen Computer, der den Anforderungen für das Erstellen eines Webprojekts entspricht. Weitere Informationen finden Sie unter Exemplarische Vorgehensweise: Erstellen und Verwenden eines ASP.NET-Webdiensts in Visual Web Developer.
Erstellen des Webdienstprojekts
In Visual Studio ist eine Projektvorlage für ASP.NET-Webdienste verfügbar, mit deren Hilfe Sie Webdienste in Visual Basic und C# erstellen können.
So erstellen Sie ein ASP.NET-Webdienstprojekt
Klicken Sie im Menü Datei auf Neue Website.
Wählen Sie im Dialogfeld Neue Website das Symbol ASP.NET-Webdienst aus.
Geben Sie die Adresse des Webservers ein, auf dem der Webdienst entwickelt werden soll, und geben Sie TempConvert1 als Verzeichnisnamen an, z. B. "http://MyServer/TempConvert1". Standardmäßig wird für das Projekt der lokale Computer verwendet, also "https://localhost".
Hinweis
Bei einigen Projekttypen steht das Textfeld Name nicht zur Verfügung, da sich der Projektname direkt aus dem angegebenen Speicherort ergibt. Beispielsweise leiten sich die Namen von Webanwendungen und Webdiensten, die sich auf einem Webserver befinden, vom Namen des auf dem Server angegebenen virtuellen Verzeichnisses ab.
Hinweis
Sie entwickeln Webdienste auf einem Entwicklungsserver. Der Standardentwicklungsserver ist der lokale Computer. Typischerweise entwickeln und erstellen Sie das Projekt auf einem Entwicklungsserver. Anschließend stellen Sie es auf einem anderen Server (dem Bereitstellungsserver) bereit, der den Webdienst mithilfe eines Bereitstellungsprojekts verfügbar macht. Wenn Sie jedoch direkt auf dem Server entwickeln, der als Host für den Webdienst fungiert, sind der Entwicklungs- und der Bereitstellungsserver identisch.
Klicken Sie auf OK, um das Projekt zu erstellen.
Visual Studio erstellt automatisch die erforderlichen Dateien und fügt die benötigten Verweise für die Unterstützung des Webdiensts ein. Wenn Sie in Visual Studio ein Webdienstprojekt erstellen, wird der Komponenten-Designer für Service1.asmx angezeigt.
Implementieren des Webdiensts
Im nächsten Schritt schreiben Sie den Code zum Implementieren der Funktionen des Webdiensts, auf die die Clients zugreifen. Bei Webdiensten, die in Visual Studio erstellt werden, wird dieser Code in einer ausgeblendeten Code-Behind-Datei platziert, die der von Visual Studio erstellten ASMX-Datei des Webdiensts zugeordnet ist. Weitere Informationen finden Sie unter Gewusst wie: Erstellen einer Webdienstmethode.
So fügen Sie eine Webdienstmethode hinzu
Suchen Sie in der Service.vb-Codedatei den Code für die Service-Klassendeklaration. Ersetzen Sie den System.Web.Services.WebService-Attributcode durch den folgenden Code (fett dargestellt) vor der Klassendeklaration:
<System.Web.Services.WebService( _ Namespace:="http://Walkthrough/XmlWebServices/", _ Description:="A temperature conversion service.")> _ Public Class Service
[System.Web.Services.WebService( Namespace="http://Walkthrough/XmlWebServices/", Description="A temperature conversion service.")] public class Service : System.Web.Services.WebService
Indem Sie das WebService-Attribut an eine Public-Klasse anfügen, können Sie zusätzliche Informationen über den Webdienst einfügen, z. B. einen Namespace für den Webdienst und eine Beschreibung des Webdiensts. Die description-Eigenschaft dieses Attributs ist auf der Diensthilfeseite enthalten. Weitere Informationen finden Sie unter Gewusst wie: Verwenden des WebService-Attributs.
Fügen Sie in der Service-Klasse folgenden Code hinzu, um die ConvertTemperature-Funktion zu deklarieren:
<WebMethod(Description:="This method converts a temperature in " & _ "degrees Fahrenheit to a temperature in degrees Celsius.")> _ Public Function ConvertTemperature(ByVal dFahrenheit As Double) _ As Double Return ((dFahrenheit - 32) * 5) / 9 End Function
[WebMethod(Description="This method converts a temperature in " + "degrees Fahrenheit to a temperature in degrees Celsius.")] public double ConvertTemperature(double dFahrenheit) { return ((dFahrenheit - 32) * 5) / 9; }
Das Anfügen des WebMethod-Attributs an eine Public-Methode macht diese Methode als Teil des Webdiensts verfügbar. Die description-Eigenschaft dieses Attributs ist auf der Diensthilfe- und der Dienstmethodenhilfeseite enthalten. Weitere Informationen finden Sie unter Gewusst wie: Verwenden des WebMethod-Attributs.
Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf Service.asmx, und klicken Sie dann im Kontextmenü auf Als Startseite festlegen.
Speichern Sie die Projektmappe.
Debuggen des Webdiensts
In Visual Studio werden mehrere Methoden zum Erstellen und Ausführen eines Webdiensts innerhalb der IDE angeboten. Dazu gehören:
Starten (mit Debuggen)
Starten ohne Debuggen
In Browser anzeigen
Als Visual Studio-Projekt verfügt dieser Webdienst über unterschiedliche Konfigurationen für Release- und Debugversionen. Da Sie dieses Projekt mit der Projektvorlage für einen ASP.NET-Webdienst erstellt haben, werden durch Visual Studio diese Konfigurationen automatisch erstellt und die entsprechenden Standardoptionen und andere Einstellungen festgelegt. Weitere Informationen finden Sie unter Gewusst wie: Festlegen von Debug- und Releasekonfigurationen.
In dieser exemplarischen Vorgehensweise setzen Sie im Webdienst einen Haltepunkt und verwenden das Verfahren Starten mit Debuggen. Weitere Informationen finden Sie unter Gewusst wie: Debuggen von Webdiensten in verwaltetem Code.
Prüfen Sie vor dem Debuggen die Debugeinstellungen. Weitere Informationen finden Sie unter Vorbereitung zum Debuggen: XML-Webdienstprojekte.
So verwenden Sie einen Haltepunkt und starten den Webdienst mit Debuggen
Wählen Sie im Menü Debuggen die Option Neuer Haltepunkt, und klicken Sie auf Halten bei Funktion.
Geben Sie auf der Registerkarte Funktion im Feld Funktion als Funktion ConvertTemperature ein, und klicken Sie auf OK, um einen Haltepunkt für die Methodendeklaration ConvertTemperature hinzuzufügen.
Klicken Sie im Menü Debuggen auf Start, und klicken Sie dann im Fenster Debuggen nicht aktiviert auf OK, um mit dem Debuggen zu beginnen.
Durch diesen Befehl wird Visual Studio angewiesen, den Webdienst im Debugger auszuführen. Visual Studio erstellt das Projekt und gibt dieses an den angegebenen Entwicklungsserver weiter. Nach Abschluss dieser Aktion zeigt der Standardbrowser die ASMX-Datei auf dem Bereitstellungsserver an.
Wird in einem Browser eine ASMX-Datei geöffnet, gibt der Webdienst eine Diensthilfeseite mit Informationen über den Webdienst zurück. Der Link Dienstbeschreibung verweist auf ein XML-Dokument, das eine formale Beschreibung des Webdiensts enthält. Weitere Informationen finden Sie unter XML-Webdienstbeschreibung.
Klicken Sie auf der Diensthilfeseite auf den Link ConvertTemperature.
Geben Sie im Feld dFahrenheit die Zahl 212 ein, und klicken Sie auf die Schaltfläche Aufrufen.
Wenn die ConvertTemperature-Funktion erreicht wurde, wird die Verarbeitung angehalten. Der Debugger von Visual Studio markiert die Zeile mit dem Haltepunkt, und Sie können während der Unterbrechung verschiedene Aufgaben ausführen. Weitere Informationen finden Sie unter Debuggerwegweiser und Anzeigen von Daten im Debugger.
Klicken Sie im Menü Debuggen auf Weiter, um die Verarbeitung fortzusetzen.
Der Webdienst reagiert mit der Rückgabe des umgerechneten Werts in einem XML-Dokument in folgender Form:
<?xml version="1.0" encoding="utf-8" ?> <double xmlns="http://Walkthrough/XmlWebServices/">100</double>
Um den Webdienst zu beenden und zum Code-Editor zurückzukehren, klicken Sie im Menü Debuggen auf Debuggen beenden.
Klicken Sie im Menü Debuggen auf Alle Haltepunkte löschen.
Bereitstellen des Webdiensts
Um den Webdienst für andere Benutzer verfügbar zu machen, müssen Sie ihn auf einem Webserver bereitstellen, auf den die zu unterstützenden Clients zugreifen können. Um den Webdienst auf einem anderen Server als dem Entwicklungsserver bereitzustellen, können Sie ein Websetupprojekt hinzufügen oder die erforderlichen Dateien auf den Zielserver kopieren. In dieser exemplarischen Vorgehensweise können Sie die Art der Bereitstellung des Webdiensts selbst auswählen. Weitere Informationen finden Sie unter Gewusst wie: Bereitstellen von Webdiensten in verwaltetem Code.
So stellen Sie den Webdienst mit einem Websetup-Projekt bereit
Zeigen Sie im Menü Datei auf Hinzufügen, und klicken Sie auf Neues Projekt.
Wählen Sie den Knoten Andere und dann den Knoten Setup und Bereitstellungsprojekte aus, und klicken Sie dann auf Websetup-Projekt.
Geben Sie im Feld Name die Bezeichnung TempConvert1WebSetup ein, und klicken Sie dann auf OK.
Hinweis
Der Name des Bereitstellungsprojekts wird vom Installer standardmäßig beim Erstellen des virtuellen Verzeichnisses auf dem Bereitstellungsserver verwendet.
Wählen Sie im linken Bereich des Dateisystem-Editors den Webanwendungsordner aus. Weitere Informationen finden Sie unter Dateisystem-Editor.
Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf TempConvert1WebSetup, zeigen Sie auf Hinzufügen, und klicken Sie dann auf Projektausgabe.
Wählen Sie im Dialogfeld Projektausgabegruppe hinzufügen die Option Inhaltsdateien aus. Weitere Informationen finden Sie unter Gewusst wie: Hinzufügen und Entfernen von Projektausgaben im Dateisystem-Editor.
- Die Gruppe Inhaltsdateien besteht aus folgenden Dateien für den Webdienst: Service1.asmx, Global.asax und Web.config. Weitere Informationen finden Sie unter Gewusst wie: Bereitstellen von Webdiensten in verwaltetem Code.
Klicken Sie auf OK.
Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt TempConvert1WebSetup, und klicken Sie im Kontextmenü auf Erstellen.
Damit erstellen Sie eine Windows Installer-Datei im lokalen Projektverzeichnis. Durch Ausführen dieser Datei installieren Sie die Webanwendung.
So stellen Sie den Webdienst durch Kopieren des Projekts bereit
Wählen Sie im Projektmappen-Explorer das Projekt TempConvert1 aus.
Klicken Sie im Menü Projekt auf Website kopieren.
Klicken Sie auf das Symbol neben dem Dropdownfeld Verbindung herstellen mit:, um das Dialogfeld Website öffnen zu öffnen. Navigieren Sie zu dem Speicherort, an den Sie das Projekt kopieren möchten.
Wählen Sie im Bereich Quellwebsite die zu kopierenden Dateien aus, und verschieben Sie sie in den Bereich Remotewebsite, indem Sie auf den nach rechts weisenden Pfeil klicken. .
Klicken Sie auf Website kopieren, um die Website zu kopieren.
Informationen zum Erstellen einer Clientanwendung, die auf diesen Webdienst zugreift, finden Sie unter:
Siehe auch
Weitere Ressourcen
Exemplarische Vorgehensweisen für das Erstellen von und das Zugreifen auf Webdienste
Exemplarische Vorgehensweisen für Visual Studio