My.WebServices, objet

Fournit des propriétés permettant de créer une instance unique de chaque service web XML qui est référencé par le projet actuel et d’y accéder.

Notes

L’objet My.WebServices fournit une instance de chaque service web référencé par le projet actuel. Chaque instance est instanciée sur demande. Vous pouvez accéder à ces services web via les propriétés de l’objet My.WebServices. La propriété porte le même nom que le service web auquel elle accède. Toute classe qui hérite de SoapHttpClientProtocol est un service web. Pour plus d’informations sur l’ajout de services Web à un projet, consultez Accès aux services web d’application.

L’objet My.WebServices expose uniquement les services Web associés au projet actuel. Il ne fournit pas l’accès aux services Web déclarés dans les DLL référencées. Pour accéder à un service Web fourni par une DLL, vous devez utiliser le nom qualifié du service Web, sous la forme DllName.WebServiceName. Pour plus d’informations, consultez Accès aux services web d’application.

L’objet et ses propriétés ne sont pas disponibles pour les applications web.

Propriétés

Chaque propriété de l’objet My.WebServices fournit l’accès à une instance d’un service Web référencé par le projet actuel. Le nom de la propriété est identique au nom du service Web auquel la propriété accède, et le type de propriété est identique au type du service Web.

Notes

S’il existe une collision de noms, le nom de la propriété permettant d’accéder à un service web est RootNamespace_Namespace_ServiceName. Par exemple, considérez deux services Web nommés Service1. Si l’un de ces services se trouve dans l’espace de noms racine WindowsApplication1 et dans l’espace de noms Namespace1, vous pouvez accéder à ce service à l’aide de My.WebServices.WindowsApplication1_Namespace1_Service1.

Lorsque vous accédez d’abord à l’une des propriétés de l’objet My.WebServices, elle crée une instance du service Web et la stocke. Les accès suivants de cette propriété retournent cette instance du service Web.

Vous pouvez supprimer un service Web en affectant Nothing à la propriété pour ce service Web. Le setter de propriété affecte Nothing à la valeur stockée. Si vous affectez une valeur autre que Nothing à la propriété, le setter lève une exception ArgumentException.

Vous pouvez tester si une propriété de l’objet My.WebServices stocke une instance du service Web à l’aide de l’opérateur Is ou IsNot. Vous pouvez utiliser ces opérateurs pour vérifier si la valeur de la propriété est Nothing.

Notes

En règle générale, l’opérateur Is ou IsNot doit lire la valeur de la propriété pour effectuer la comparaison. Toutefois, si la propriété stocke actuellement Nothing, la propriété crée une nouvelle instance du service Web, puis retourne cette instance. Toutefois, le compilateur Visual Basic traite les propriétés de l’objet My.WebServices spécialement et permet à l’opérateur Is ou IsNot de vérifier l’état de la propriété sans modifier sa valeur.

Exemple

Cet exemple appelle la méthode FahrenheitToCelsius du service web XML TemperatureConverter et retourne le résultat.

Function ConvertFromFahrenheitToCelsius(
    ByVal dFahrenheit As Double) As Double

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

Pour que cet exemple fonctionne, votre projet doit référencer un service Web nommé Converter, et ce service web doit exposer la méthode ConvertTemperature. Pour plus d’informations, consultez Accès aux services web d’application.

Ce code ne fonctionne pas dans un projet d’application web.

Spécifications

Disponibilité par type de projet

Type de projet Disponible
Application Windows Oui
Bibliothèque de classes Oui
Application console Oui
Bibliothèque de contrôles Windows Oui
Bibliothèque de contrôles web Oui
Service Windows Oui
Site web Non

Voir aussi