Freigeben über


Exemplarische Vorgehensweise: Erstellen und Verwenden eines ASP.NET-Webdiensts in Visual Web Developer

Aktualisiert: November 2007

In Microsoft Visual Studio können Sie nicht nur Webseiten erstellen, sondern auch Webdienste erstellen, die ASP.NET-XML verwenden. Das Erstellen eines Webdiensts in Visual Studio ist weitgehend mit dem Erstellen einer Webseite vergleichbar. Sie können auch das Microsoft Visual Web Developer-Webentwicklungstool verwenden, um auf Webdienste in einer Visual Web Developer-Projektmappe, auf dem lokalen Computer oder in einem lokalen oder externen UDDI-Verzeichnis zu verweisen oder diese Webdienste zu verwenden. In dieser exemplarischen Vorgehensweise erstellen Sie den Webdienst in einer Projektmappe und verwenden ihn in einer anderen Projektmappe.

In dieser exemplarischen Vorgehensweise werden folgende Aufgaben veranschaulicht:

  • Erstellen eines einfachen XML-Webdiensts in Visual Web Developer.

  • Erstellen einer separaten Website, die den Webdienst verwendet.

Vorbereitungsmaßnahmen

Für die Durchführung dieser exemplarischen Vorgehensweise benötigen Sie Folgendes:

  • Auf dem Computer lokal installierte Microsoft Internetinformationsdienste (IIS).

Erstellen eines Webdiensts unter dem IIS-Stamm

Erstellen Sie einen neuen Webdienst und eine neue Webseite, indem Sie folgende Schritte ausführen.

Hinweis:

Sie müssen für diese exemplarische Vorgehensweise eine IIS-Website verwenden.

So erstellen Sie einen Webdienst

  1. Öffnen Sie Visual Web Developer.

  2. Klicken Sie im Menü Datei auf Neue Website.

    Das Dialogfeld Neue Website wird angezeigt.

  3. Klicken Sie unter Von Visual Studio installierte Vorlagen auf ASP.NET-Webdienst.

  4. Klicken Sie auf Durchsuchen.

  5. Klicken Sie auf Lokale IIS.

  6. Klicken Sie auf Standardwebsite.

  7. Klicken Sie auf Neue Webanwendung erstellen.

    Visual Web Developer erstellt eine neue IIS-Webanwendung.

  8. Geben Sie den Namen TemperatureWebService ein.

  9. Klicken Sie auf Öffnen.

    Das Dialogfeld Neue Website wird angezeigt. Darin wird der Name der neuen Website ganz rechts in der Liste Speicherort angezeigt. Der Speicherort schließt das Protokoll (http://) und den Speicherort (localhost) ein. Damit wird angegeben, dass Sie mit einer lokalen IIS-Website arbeiten.

  10. Klicken Sie in der Liste Sprache auf die Programmiersprache, in der Sie arbeiten möchten.

    Die Programmiersprache, die Sie auswählen, ist die Standardeinstellung für die Website. Sie können jedoch mehrere Sprachen in der gleichen Webanwendung verwenden, indem Sie Seiten und Komponenten in unterschiedlichen Programmiersprachen erstellen. Informationen über das Erstellen von Komponenten in unterschiedlichen Sprachen finden Sie unter Ordner für freigegebenen Code in ASP.NET-Websites.

  11. Klicken Sie auf OK.

    Visual Web Developer erstellt den neuen Webdienst und öffnet eine neue Klasse mit dem Namen Service, bei der es sich um den Standardwebdienst handelt. Im folgenden Verfahren erstellen Sie jedoch einen neuen Webdienst mit einem angegebenen Namen und verwenden nicht die Service-Klasse.

  12. Schließen Sie die Service-Klasse.

Erstellen des Webdiensts

Sie erstellen einen Webdienst, der Temperaturen von Fahrenheit in Celsius und umgekehrt konvertiert.

So erstellen Sie den Webdienst

  1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf den Namen der Website (https://localhost/TemperatureWebService), und klicken Sie dann auf Neues Element hinzufügen.

  2. Klicken Sie unter Von Visual Studio installierte Vorlagen auf Webdienst, und geben Sie dann im Feld Name die Zeichenfolge Convert ein.

  3. Stellen Sie sicher, dass das Kontrollkästchen Code in eigener Datei platzieren aktiviert ist, und klicken Sie dann auf Hinzufügen.

    Visual Web Developer erstellt einen neuen Webdienst, der aus zwei Dateien besteht. Bei der Datei Convert.asmx handelt es sich um die Datei, die aufgerufen wird, um die Webdienstmethoden aufzurufen. Sie zeigt auf den Code für den Webdienst. Der Code selbst befindet sich in einer Klassendatei (Convert.vb, Convert.cs oder Convert.jsl, je nach Programmiersprache) im Ordner App_Code. Die Codedatei enthält eine Vorlage für einen Webdienst. Die Codedatei schließt einen Teil des Codes für eine Webdienstmethode ein.

Sie erstellen zwei Methoden im Webdienst. Die erste Methode konvertiert Temperaturen in Fahrenheit in Celsius, und die zweiten Methode konvertiert Temperaturen in Celsius in Fahrenheit.

So erstellen Sie die Konvertierungsmethoden

  1. Fügen Sie den folgenden Code in der Klasse nach der HelloWorld-Methode hinzu:

        <System.Web.Services.WebMethod()> _
    Public Function FahrenheitToCelsius(ByVal Fahrenheit As Double) _
            As Double
            Return ((Fahrenheit - 32) * 5) / 9
        End Function
    
        <System.Web.Services.WebMethod()> _
            Public Function CelsiusToFahrenheit(ByVal Celsius As Double) _
                As Double
            Return ((Celsius * 9) / 5) + 32
        End Function
    
    [System.Web.Services.WebMethod()]
    public double FahrenheitToCelsius(double Fahrenheit)
    {
        return ((Fahrenheit - 32) * 5) / 9;
    }
    
    [System.Web.Services.WebMethod()]
    public double CelsiusToFahrenheit(double Celsius)
    {
        return ((Celsius * 9) / 5) + 32;
    }
    

    Beachten Sie, dass vor den Funktionsnamen ein Attribut ([System.Web.Services.WebMethod()] oder <System.Web.Services.WebMethod()>) als Teil der Funktionsdeklaration steht.

  2. Wenn Sie die Funktionen eingegeben haben, speichern Sie die Datei.

Jetzt können Sie den Webdienst in Visual Web Developer testen.

So testen Sie den Webdienst

  1. Klicken Sie im Projektmappen-Explorer auf Convert.asmx, und drücken Sie dann STRG+F5.

    Der Webdienst wird aufgerufen, und es wird im Browser eine Seite angezeigt, auf der die vom Webdienst verfügbar gemachten Methoden dargestellt werden.

  2. Klicken Sie auf CelsiusToFahrenheit, womit diese Methode aufgerufen wird.

    Es wird eine Seite angezeigt, auf der Sie zur Eingabe der Parameterwerte für die CelsiusToFahrenheit-Methode aufgefordert werden.

  3. Geben Sie im Feld Celsius den Wert 100 ein, und klicken Sie auf Aufrufen.

    Es wird ein neues Fenster angezeigt, in dem die bei Aufrufen der CelsiusToFahrenheit-Methode vom Webdienst zurückgegebenen XML-Daten dargestellt werden. Der Wert 212 wird im XML-Code angezeigt.

  4. Schließen Sie den Browser, der die Methodenergebnisse enthält.

  5. Klicken Sie im ursprünglichen Browser auf Zurück, um zur Liste der Methoden zurückzukehren.

  6. Klicken Sie auf FahrenheitToCelsius, und führen Sie einen Test aus, um sicherzustellen, dass die Methode die gewünschten Ergebnisse zurückgibt.

    Wenn Sie 212 eingeben, gibt die FahrenheitToCelsius-Methode 100 zurück.

  7. Schließen Sie den Browser.

Sie haben den Webdienst erstellt und können ihn nun im nächsten Schritt verwenden.

Verwenden des Webdiensts

Sie verfügen nun über einen Webdienst und können eine Website erstellen, auf der Sie auf den erstellten Webdienst verweisen und ihn verwenden. Für die exemplarische Vorgehensweise erstellen Sie eine separate Website mit einer Seite, auf der Sie die gerade erstellten Webdienstmethoden starten.

So erstellen Sie eine Website zum Verwenden des Webdiensts

  1. Klicken Sie im Menü Datei auf Neue Website.

  2. Klicken Sie unter Von Visual Studio installierte Vorlagen auf ASP.NET-Website.

  3. Klicken Sie auf Durchsuchen.

  4. Klicken Sie auf Lokale IIS.

  5. Klicken Sie auf Standardwebsite.

  6. Klicken Sie auf Neue Webanwendung erstellen.

    Visual Web Developer erstellt eine neue IIS-Webanwendung.

  7. Geben Sie den Namen TemperatureWeb ein.

  8. Klicken Sie auf Öffnen.

  9. Klicken Sie in der Liste Sprache auf die Programmiersprache, in der Sie arbeiten möchten.

  10. Klicken Sie auf OK.

    Visual Web Developer erstellt eine neue lokale IIS-Website und die neue Seite Default.aspx.

Hinzufügen des Webdiensts als Komponente

Der Webdienst ist eine Komponente, auf die Sie in der Anwendung verweisen können. Daher müssen Sie einen Verweis darauf erstellen.

So erstellen Sie einen Verweis auf den Webdienst

  1. Klicken Sie im Menü Website auf die Option Hinzufügen und dann auf Webverweis.

    Das Dialogfeld Webverweis hinzufügen wird angezeigt, wie in der folgenden Bildschirmabbildung dargestellt.

    Dialogfeld Webverweis hinzufügen

  2. Geben Sie in der Liste URL die folgende URL für den Webdienst ein, und klicken Sie anschließend auf Gehe zu:

    https://localhost/TemperatureWebService/Convert.asmx

    Wenn Visual Web Developer den Webdienst findet, werden Informationen zum Webdienst im Dialogfeld Webverweise hinzufügen angezeigt.

    Hinweis:

    Wenn Sie einem Webdienst keinen Verweis hinzufügen können, ist der Proxyserver möglicherweise nicht ordnungsgemäß konfiguriert. Klicken Sie in Microsoft Internet Explorer im Menü Extras auf Internetoptionen, klicken Sie auf Verbindungen und dann auf LAN-Einstellungen. Aktivieren Sie das Kontrollkästchen Proxyserver für lokale Adressen umgehen. Legen Sie außerdem die Proxyserveradresse auf den genauen Namen des Proxyservers fest, und lassen Sie nicht zu, dass Internet Explorer den Proxyserver ermittelt. Weitere Informationen erhalten Sie beim Netzwerkadministrator.

  3. Klicken Sie auf eine der Methodenverknüpfungen.

    Die Testseite für die Methode wird angezeigt.

  4. Klicken Sie auf Verweis hinzufügen.

    Visual Web Developer erstellt den Ordner App_WebReferences und fügt ihm einen Ordner für den neuen Webverweis hinzu. Webverweisen wird standardmäßig ein Namespace zugeordnet, der ihrem Servernamen entspricht (in diesem Fall localhost). Notieren Sie sich den Namen des Namespaces für den Webverweis. Im Ordner fügt Visual Web Developer eine WSDL-Datei hinzu, die auf den Webdienst verweist. Es werden auch Unterstützungsdateien hinzugefügt, z. B. Discovery-Dateien (DISCO- und DISCOMAP-Dateien), die Informationen zum Speicherort des Webdiensts enthalten.

    Hinweis:

    Wenn der Servername für den Webdienst Zeichen enthält, die nicht für den Namen einer Klasse verwendet werden können, z. B. ein Bindestrich (-), konvertiert Visual Web Developer diese Zeichen in einen Unterstrich (_). Daher entspricht der Namespace für den Webdienst in Visual Web Developer unter Umständen nicht genau dem Servernamen.

Sie können jetzt den Webdienst verwenden. In dieser exemplarischen Vorgehensweise fügen Sie Default.aspx Steuerelemente hinzu und programmieren die Steuerelemente anschließend so, dass eine angegebene Temperatur in Fahrenheit und Celsius konvertiert wird. Während der Ausführung sieht die Seite etwa wie in der folgenden Illustration aus.

Temperaturumrechnungsseite

So rufen Sie die Webdienstmethoden auf

  1. Öffnen Sie die Seite Default.aspx, und wechseln Sie zur Entwurfsansicht.

  2. Ziehen Sie in der Toolbox aus der Gruppe Standard die folgenden Steuerelemente auf die Seite, und legen Sie ihre Eigenschaften wie folgt fest:

    Steuerelement

    Eigenschaften

    Textbox

    ID: TemperatureTextbox

    Text: (leer)

    Schaltfläche

    ID: ConvertButton

    Text: Convert

    Bezeichnung

    ID: FahrenheitLabel

    Text: (leer)

    Bezeichnung

    ID: CelsiusLabel

    Text: (leer)

  3. Optional können Sie der Seite Text für Beschriftungen hinzufügen.

    Für diese exemplarische Vorgehensweise ist das Layout der Seite nicht wichtig.

  4. Doppelklicken Sie auf ConvertButton, um einen Ereignishandler für das entsprechende Click-Ereignis zu erstellen.

  5. Stellen Sie sicher, dass der Ereignishandlercode mit dem Code im folgenden Beispiel übereinstimmt.

    Dim wsConvert As New localhost.Convert()
    Dim temperature As Double
    temperature = System.Convert.ToDouble(TemperatureTextbox.Text)
    FahrenheitLabel.Text = "Fahrenheit To Celsius = " & _
        wsConvert.FahrenheitToCelsius(temperature).ToString()
    CelsiusLabel.Text = "Celsius To Fahrenheit = " & _
        wsConvert.CelsiusToFahrenheit(temperature).ToString()
    
    protected void ConvertButton_Click(object sender, EventArgs e)
    {
        localhost.Convert wsConvert = new localhost.Convert();
        double temperature =
            System.Convert.ToDouble(TemperatureTextbox.Text);
        FahrenheitLabel.Text = "Fahrenheit To Celsius = " +
            wsConvert.FahrenheitToCelsius(temperature).ToString();
        CelsiusLabel.Text = "Celsius To Fahrenheit = " +
            wsConvert.CelsiusToFahrenheit(temperature).ToString();
    }
    
  6. Drücken Sie STRG+F5, um die Seite auszuführen.

  7. Geben Sie im Textfeld einen Wert ein, z. B. 100, und klicken Sie dann auf Konvertieren.

    Auf der Seite wird das Ergebnis der Konvertierung des Temperaturwerts in Fahrenheit und Celsius angezeigt.

Debuggen des Webdiensts

Sie können einen Webdienst auf die gleiche Weise debuggen wie Webseiten.

Hinweis:

Visual Web Developer Express Edition und Visual Studio Standard Edition unterstützen nicht das schrittweise Ausführen eines Webdiensts von einer Seite aus, die auf diesen Webdienst verweist. Wenn Sie Visual Web Developer Express Edition oder Visual Studio Standard Edition verwenden, überspringen Sie diesen und die folgenden Abschnitte. Weitere Informationen zum Debuggen von Websites finden Sie unter Exemplarische Vorgehensweise: Debuggen von Webseiten in Visual Web Developer.

Um zu beginnen, müssen Sie die Website mit dem Webdienst konfigurieren, um das Debuggen zu aktivieren.

So aktivieren Sie Debuggen für die Website mit dem Webdienst

  1. Klicken Sie im Menü Datei auf Website öffnen.

  2. Klicken Sie auf Lokale IIS.

  3. Klicken Sie auf TemperatureWebService und dann auf Öffnen.

  4. Klicken Sie im Menü Website auf ASP.NET-Konfiguration, um das Websiteverwaltungs-Tool zu öffnen.

    Hinweis:

    Wenn Sie das Websiteverwaltungs-Tool zum ersten Mal ausführen, wird es unter Umständen mit etwas Verzögerung angezeigt.

  5. Klicken Sie auf Anwendung und dann auf Anwendungskonfiguration.

  6. Klicken Sie unter Debuggen und Ablaufverfolgung auf Debuggen und Ablaufverfolgung konfigurieren.

  7. Aktivieren Sie das Kontrollkästchen Debuggen aktivieren.

    Das Websiteverwaltungs-Tool erstellt für die Website die Datei Web.config und legt eine Konfigurationsoption fest, um das Debuggen zu aktivieren.

    Hinweis:

    Um die Datei Web.config im Projektmappen-Explorer anzuzeigen, klicken Sie auf den Namen der Website und dann auf der Symbolleiste des Projektmappen-Explorers auf Aktualisieren.

  8. Starten Sie das Websiteverwaltungs-Tool.

Sie müssen jetzt das Debuggen für die Website aktivieren, die den Webdienst verwendet.

So aktivieren Sie das Debuggen für die Website

  1. Öffnen Sie die Website TemperatureWeb.

  2. Klicken Sie im Menü Website auf ASP.NET-Konfiguration, um das Websiteverwaltungs-Tool zu öffnen.

  3. Klicken Sie auf Anwendung, klicken Sie auf Anwendungskonfiguration, klicken Sie unter Debuggen und Ablaufverfolgung auf Debuggen und Ablaufverfolgung konfigurieren, und aktivieren Sie dann das Kontrollkästchen Debuggen aktivieren.

  4. Starten Sie das Websiteverwaltungs-Tool.

    Hinweis:

    Um die Datei Web.config im Projektmappen-Explorer anzuzeigen, wählen Sie den Namen der Website aus und klicken dann auf der Symbolleiste des Projektmappen-Explorers auf Aktualisieren.

  5. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf Default.aspx, und klicken Sie dann auf Code anzeigen.

    Visual Web Developer öffnet die Codedatei für die Seite.

  6. Positionieren Sie den Zeiger in der folgenden Zeile:

    temperature = System.Convert.ToDouble(TemperatureTextbox.Text)
    
    double temperature =
        System.Convert.ToDouble(TemperatureTextbox.Text);
    
  7. Drücken Sie F9, um einen Haltepunkt in der Zeile festzulegen.

Testen des Debuggens

Die Website und der Webdienst sind zum Debuggen konfiguriert. Sie können das Debuggen daher nun testen. Sie beginnen auf der Seite Default.aspx und durchlaufen den Code, bis der Code den Webdienst aufruft. Der Debugger wechselt zum Webdienst und durchläuft weiter den Code.

So debuggen Sie die Seite und den Webdienst

  1. Drücken Sie F5, um die Seite Default.aspx mit Debuggen auszuführen.

    Die Seite wird im Browser angezeigt.

  2. Geben Sie im Feld einen Wert ein, z. B. 100, und klicken Sie auf Convert.

    Visual Web Developer beginnt mit dem Ausführen des Codes für die Seite, hält jedoch an und hebt die Zeile mit dem Haltepunkt hervor.

  3. Drücken Sie F11, um zur nächsten Zeile zu wechseln.

  4. Drücken Sie erneut F11.

    Da die nächste Zeile den Webdienst aufruft, wechselt der Debugger zum Webdienst und hält in der ersten Zeile der FahrenheitToCelsius-Methode an.

  5. Drücken Sie weiterhin F11.

    Der Debugger durchläuft den Rest der Methode und kehrt dann zur aufrufenden Seite zurück. Wenn Sie das Durchlaufen fortsetzen, wechselt der Debugger zurück zum Webdienst und in die CelsiusToFahrenheit-Methode.

  6. Schließen Sie den Browser. Damit wird auch der Debugger geschlossen.

Nächste Schritte

In dieser exemplarischen Vorgehensweise wurden die Grundprinzipien beim Erstellen eines sehr einfachen Webdiensts und seiner Verwendung in einer ASP.NET-Anwendung veranschaulicht. Möglicherweise möchten Sie mit weiteren, komplexeren Webdienstfeatures experimentieren. Sie können sich u. a. folgendermaßen weiter mit dem Thema befassen:

Siehe auch

Aufgaben

Exemplarische Vorgehensweise: Debuggen von Webseiten in Visual Web Developer

Konzepte

Entwurfsrichtlinien für mit ASP.NET erstellte XML-Webdienste

Sichern von mit ASP.NET erstellten XML-Webdiensten

Referenz

@ WebService-Direktive in XML-Webdiensten

Weitere Ressourcen

<webServices>-Element

XML-Webdienste, die ASP.NET verwenden