My.WebServices-Objekt (Visual Basic)
Enthält Eigenschaften, mit denen eine Einzelinstanz jedes XML-Webdiensts, mit dem das aktuelle Projekt verbunden ist, erstellt werden oder auf diese Einzelinstanz zugegriffen werden kann.
Hinweise
Das My.WebServices-Objekt stellt eine Instanz von jedem Webdienst bereit, auf den im aktuellen Projekt verwiesen wird. Jede Instanz wird bei Bedarf instanziiert. Sie können auf diese Webdienste über die Eigenschaften des My.WebServices-Objekts zugreifen. Der Name der Eigenschaft ist identisch mit dem Namen des Webdienstes, auf den die Eigenschaft zugreift. Jede Klasse, die von SoapHttpClientProtocol erbt, ist ein Webdienst. Informationen über das Hinzufügen von Webdiensten zu einem Projekt finden Sie unter Zugreifen auf Anwendungswebdienste (Visual Basic).
Das My.WebServices-Objekt macht nur die dem aktuellen Projekt zugeordneten Webdienste verfügbar. Es ermöglicht nicht den Zugriff auf Webdienste, die in DLLs deklariert sind, auf die verwiesen wird. Um auf einen Webdienst zuzugreifen, der von einer DLL bereitgestellt wird, müssen Sie den qualifizierten Namen des Webdiensts im Format DLL-Name.Webdienstname verwenden. Weitere Informationen finden Sie unter Zugreifen auf Anwendungswebdienste (Visual Basic).
Das Objekt und seine Eigenschaften sind für Webanwendungen nicht verfügbar.
Eigenschaften
Jede Eigenschaft des My.WebServices-Objekts ermöglicht den Zugriff auf eine Instanz eines Webdienstes, auf die das aktuelle Projekt verweist. Der Name der Eigenschaft stimmt mit dem Namen des Webdienstes überein, auf den die Eigenschaft zugreift, und der Eigenschaftentyp stimmt mit dem Typ des Webdienstes überein.
Tipp
Wenn ein Namenskonflikt besteht, lautet der Eigenschaftenname für den Zugriff auf einen Webdienst Stammnamespace_Namespace_Dienstname. Stellen Sie sich beispielsweise zwei Webdienste mit dem Namen Service1 vor. Wenn sich einer dieser Dienste im Stammnamespace WindowsApplication1 und im Namespace Namespace1 befindet, rufen Sie den Dienst über My.WebServices.WindowsApplication1_Namespace1_Service1 auf.
Beim ersten Zugriff auf eine der Eigenschaften des My.WebServices-Objekts erstellt die Eigenschaft eine neue Instanz des Webdienstes und speichert diese. Bei anschließenden Zugriffen auf diese Eigenschaft wird diese Instanz des Webdienstes zurückgegeben.
Sie können einen Webdienst freigeben, 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.
Mit dem Operator Is oder dem Operator IsNot können Sie überprüfen, ob eine Eigenschaft des My.WebServices-Objekts eines Instanz des Webdienstes speichert. Sie können mit diesen Operatoren überprüfen, ob der Wert der Eigenschaft Nothing ist.
Tipp
Normalerweise muss der Operator Is oder der Operator IsNot den Wert der Eigenschaft lesen, um den Vergleich durchzuführen.. Wenn die Eigenschaft gegenwärtig jedoch Nothing speichert, erstellt sie eine neue Instanz des Webdienstes und gibt dann diese Instanz zurück. Der Visual Basic-Compiler behandelt aber die Eigenschaften des My.WebServices-Objekts auf besondere Weise und lässt das Überprüfen des Status der Eigenschaft durch den Operator Is oder den Operator IsNot ohne eine Änderung ihres Werts zu.
Aufgaben
Die folgende Tabelle enthält ein Beispiel für eine Aufgabe mit dem My.Forms-Objekt.
To |
Siehe |
Asynchrones Aufrufen eines Webdienstes und Behandeln eines Ereignisses, wenn es abgeschlossen wird |
Gewusst wie: Asynchrones Aufrufen eines Webdiensts (Visual Basic) |
Beispiel
In diesem Beispiel wird die FahrenheitToCelsius-Methode des TemperatureConverter-XML-Webdienstes 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 ausgeführt werden kann, muss das Projekt auf den Webdienst Converter verweisen, und dieser Webdienst muss die ConvertTemperature-Methode verfügbar machen. Weitere Informationen finden Sie unter Zugreifen auf Anwendungswebdienste (Visual Basic).
Dieser Code kann in einem Webanwendungsprojekt nicht ausgeführt werden.
Anforderungen
Verfügbarkeit nach Projekttyp
Projekttyp |
Verfügbar |
Windows-Anwendung |
Yes |
Klassenbibliothek |
Yes |
Konsolenanwendung |
Yes |
Windows-Steuerelementbibliothek |
Yes |
Web-Steuerelementbibliothek |
Yes |
Windows-Dienst |
Yes |
Website |
nein |