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 Nothing
atualmente , 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 |