Freigeben über


My.WebServices-Objekt

Stellt Eigenschaften für die Erstellung und den Zugriff auf eine einzelne Instanz jedes XML-Webdiensts bereit, auf den das aktuelle Projekt verweist.

Bemerkungen

Das My.WebServices-Objekt bietet eine Instanz jedes Webdienstes, auf den vom aktuellen Projekt verwiesen wird. Jede Instanz wird bei Bedarf instanziiert. Sie können über die Eigenschaften des My.WebServices-Objekts auf diese Webdienste zugreifen. Der Name der Eigenschaft stimmt mit dem des Webdienstes überein, auf den die Eigenschaft zugreift. Jede Klasse, die von SoapHttpClientProtocol erbt, ist ein Webdienst. Informationen zum Hinzufügen von Webdiensten zu einem Projekt finden Sie unter Zugreifen auf Anwendungswebdienste.

Das My.WebServices-Objekt macht nur die Webdienste verfügbar, die dem aktuellen Projekt zugeordnet sind. Es bietet keinen Zugriff auf Webdienste, die in referenzierten DLLs deklariert werden. Um auf einen Webdienst zuzugreifen, den eine DLL bereitstellt, müssen Sie den qualifizierten Namen des Webdiensts in der Form DllName.WebServiceName verwenden. Weitere Informationen finden Sie unter Zugreifen auf Anwendungswebdienste.

Das Objekt und seine Eigenschaften sind für Webanwendungen nicht verfügbar.

Eigenschaften

Jede Eigenschaft des My.WebServices-Objekts ermöglicht Zugriff auf eine Instanz eines Webdiensts, auf den das aktuelle Projekt verweist. Der Name der Eigenschaft ist mit dem Namen des Webdiensts identisch, auf den die Eigenschaft zugreift, und der Eigenschaftentyp ist mit dem Typ des Webdiensts identisch.

Hinweis

Wenn es zu einer Namenskollision kommt, lautet der Eigenschaftenname für den Zugriff auf einen Webdienst RootNamespace_Namespace_ServiceName. Nehmen Sie z. B. zwei Webdienste mit dem Namen Service1 an. Wenn sich einer dieser Dienste im Stammnamespace WindowsApplication1 und im Namespace Namespace1 befindet, würden Sie über My.WebServices.WindowsApplication1_Namespace1_Service1 auf diesen Dienst zugreifen.

Wenn Sie zum ersten Mal auf eine der My.WebServices-Eigenschaften des Objekts zugreifen, wird eine neue Instanz des Webdiensts erstellt und gespeichert. Nachfolgende Zugriffe auf diese Eigenschaft geben diese Instanz des Webdiensts zurück.

Sie können einen Webdienst entfernen, indem Sie der Eigenschaft für diesen Webdienst Nothing zuweisen. Der Eigenschaftensetter weist dem gespeicherten Wert Nothing zu. Wenn Sie der Eigenschaft einen anderen Wert als Nothing zuweisen, löst der Setter eine ArgumentException-Ausnahme aus.

Sie können testen, ob eine Eigenschaft des My.WebServices-Objekts eine Instanz des Webdiensts speichert, indem Sie den Is- oder IsNot-Operator verwenden. Sie können diese Operatoren verwenden, um zu überprüfen, ob der Wert der Eigenschaft Nothing ist.

Hinweis

In der Regel muss der Is- oder IsNot-Operator den Wert der Eigenschaft lesen, um den Vergleich durchzuführen. Wenn die Eigenschaft jedoch derzeit Nothing speichert, erstellt die Eigenschaft eine neue Instanz des Webdiensts und gibt dann diese Instanz zurück. Der Visual Basic-Compiler behandelt die Eigenschaften des My.WebServices-Objekts jedoch speziell und ermöglicht dem Is- oder IsNot-Operator, den Status der Eigenschaft zu überprüfen, ohne ihren Wert zu ändern.

Beispiel

In diesem Beispiel wird die FahrenheitToCelsius-Methode des TemperatureConverter-XML-Webdiensts aufgerufen und das Ergebnis zurückgegeben.

Function ConvertFromFahrenheitToCelsius(
    ByVal dFahrenheit As Double) As Double

    Return My.WebServices.TemperatureConverter.FahrenheitToCelsius(dFahrenheit)
End Function

Damit dieses Beispiel funktioniert, muss Ihr Projekt auf einen Webdienst namens Converter verweisen, und dieser Webdienst muss die ConvertTemperature-Methode verfügbar machen. Weitere Informationen finden Sie unter Zugreifen auf Anwendungswebdienste.

Dieser Code funktioniert nicht in einem Webanwendungsprojekt.

Anforderungen

Verfügbarkeit nach Projekttyp

Projekttyp Verfügbar
Windows-Anwendung Ja
Klassenbibliothek Ja
Konsolenanwendung Ja
Windows-Steuerelementbibliothek Ja
Websteuerelementbibliothek Ja
Windows-Dienst Ja
Website Nein

Weitere Informationen