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 |