Objeto My.WebServices

Fornece propriedades para criar e acessar uma única instância de cada serviço Web XML referenciado pelo projeto atual.

Comentários

O objeto My.WebServices fornece uma instância de cada serviço Web referenciado pelo projeto atual. Cada instância é instanciada sob demanda. É possível acessar esses serviços Web por meio das propriedades do objeto My.WebServices. O nome da propriedade é igual ao nome do serviço Web acessado pela propriedade. Qualquer classe que herda de SoapHttpClientProtocol é um serviço Web. Para obter informações sobre como adicionar serviços Web a um projeto, confira Acesso a serviços Web de aplicativo.

O objeto My.WebServices expõe apenas os serviços Web associados ao projeto atual. Ele não fornece acesso aos serviços Web declarados em DLLs referenciadas. Para acessar um serviço Web que uma DLL fornece, você precisa usar o nome qualificado do serviço Web, no formato DllName.WebServiceName. Para obter mais informações, confira Acesso a serviços Web de aplicativo.

O objeto e as propriedades não estão disponíveis para aplicativos Web.

Propriedades

Cada propriedade do objeto My.WebServices fornece acesso a uma instância de um serviço Web referenciado pelo projeto atual. O nome da propriedade é o mesmo que o nome do serviço Web que a propriedade acessa, e o tipo de propriedade é o mesmo que o tipo do serviço Web.

Observação

Se houver uma colisão de nome, o nome da propriedade para acessar um serviço Web será RootNamespace_Namespace_ServiceName. Por exemplo, considere dois serviços Web nomeados Service1. Se um desses serviços estiver no namespace WindowsApplication1 raiz e no namespace Namespace1, você acessará esse serviço usando My.WebServices.WindowsApplication1_Namespace1_Service1.

Quando você acessa pela primeira vez uma das propriedades My.WebServices do objeto, ele cria uma instância do serviço Web e o armazena. Os acessos seguintes dessa propriedade retornam essa instância do serviço Web.

Você pode descartar um serviço Web atribuindo Nothing à propriedade desse serviço Web. O setter de propriedade atribui Nothing ao valor armazenado. Se você atribuir qualquer valor diferente de Nothing à propriedade, o setter gerará uma exceção ArgumentException.

Você pode testar se uma propriedade do objeto My.WebServices armazena uma instância do serviço Web usando o operador Is ou IsNot. Você pode usar esses operadores para verificar se o valor da propriedade é Nothing.

Observação

Normalmente, o operador Is ou IsNot precisa ler o valor da propriedade para executar a comparação. No entanto, se a propriedade atualmente armazenar Nothing, a propriedade criará uma instância do serviço Web e retornará essa instância. No entanto, o compilador do Visual Basic trata especialmente as propriedades do objeto My.WebServices e permite que o operador Is ou IsNot verifique o status da propriedade sem alterar o valor.

Exemplo

Este exemplo chama o método FahrenheitToCelsius do serviço Web XML TemperatureConverter e retorna o resultado.

Function ConvertFromFahrenheitToCelsius(
    ByVal dFahrenheit As Double) As Double

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

Para que este exemplo funcione, seu projeto precisa fazer referência a um serviço Web chamado Converter e esse serviço Web precisa expor o método ConvertTemperature. Para obter mais informações, confira Acesso a serviços Web de aplicativo.

Esse código não funciona em um projeto de aplicativo Web.

Requisitos

Disponibilidade por tipo de projeto

Tipo de projeto Disponível
Aplicativo do Windows Sim
Biblioteca de Classes Sim
Aplicativo do Console Sim
Biblioteca de Controle do Windows Sim
Biblioteca de Controles da Web Sim
Serviço do Windows Sim
Site Não

Confira também