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 |