Partilhar via


Objeto My.WebServices

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

Observações

O My.WebServices objeto fornece uma instância de cada serviço Web referenciado pelo projeto atual. Cada instância é instanciada sob demanda. Você pode acessar esses serviços da Web por meio das propriedades do My.WebServices objeto. O nome da propriedade é o mesmo que o nome do serviço Web que a propriedade acessa. Qualquer classe herdada de SoapHttpClientProtocol é um serviço Web. Para obter informações sobre como adicionar serviços Web a um projeto, consulte Acessando serviços Web de aplicativos.

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

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

Propriedades

Cada propriedade do My.WebServices objeto 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.

Nota

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

Quando você acessa My.WebServices pela primeira vez uma das propriedades do objeto, ele cria uma nova instância do serviço Web e a armazena. Os acessos subsequentes 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 propriedades atribui Nothing ao valor armazenado. Se você atribuir qualquer valor diferente da Nothing propriedade, o setter lançará uma ArgumentException exceção.

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

Nota

Normalmente, o Is operador ou IsNot tem que ler o valor da propriedade para executar a comparação. No entanto, se a propriedade armazenar Nothingatualmente , a propriedade cria uma nova instância do serviço Web e, em seguida, retorna essa instância. No entanto, o compilador do Visual Basic trata as propriedades do My.WebServices objeto especialmente e permite que o Is operador ou IsNot verifique o status da propriedade sem alterar seu valor.

Exemplo

Este exemplo chama o FahrenheitToCelsius método do TemperatureConverter XML Web Service 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 deve fazer referência a um serviço Web chamado Converter, e esse serviço Web deve expor o ConvertTemperature método. Para obter mais informações, consulte Acessando serviços Web de aplicativos.

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

Requisitos

Disponibilidade por tipo de projeto

Tipo de projeto Disponível
Aplicação do Windows Sim
Class Library Sim
Aplicação de Consola Sim
Biblioteca de Controlo do Windows Sim
Biblioteca de controle da Web Sim
Serviço Windows Sim
Web site Não

Consulte também