My.WebServices-objekt
Innehåller egenskaper för att skapa och komma åt en enda instans av varje XML-webbtjänst som refereras av det aktuella projektet.
Kommentarer
Objektet My.WebServices
innehåller en instans av varje webbtjänst som refereras av det aktuella projektet. Varje instans instans instansieras på begäran. Du kan komma åt dessa webbtjänster via objektets My.WebServices
egenskaper. Namnet på egenskapen är samma som namnet på den webbtjänst som egenskapen har åtkomst till. Alla klasser som ärver från SoapHttpClientProtocol är en webbtjänst. Information om hur du lägger till webbtjänster i ett projekt finns i Åtkomst till Programwebbtjänster.
Objektet My.WebServices
exponerar endast de webbtjänster som är associerade med det aktuella projektet. Den ger inte åtkomst till webbtjänster som deklarerats i refererade DLL:er. För att få åtkomst till en webbtjänst som en DLL tillhandahåller måste du använda webbtjänstens kvalificerade namn i formatet DllName.WebServiceName. Mer information finns i Accessing Application Web Services (Åtkomst till Programwebbtjänster).
Objektet och dess egenskaper är inte tillgängliga för webbprogram.
Egenskaper
Varje egenskap för My.WebServices
objektet ger åtkomst till en instans av en webbtjänst som refereras av det aktuella projektet. Namnet på egenskapen är samma som namnet på den webbtjänst som egenskapen har åtkomst till, och egenskapstypen är samma som webbtjänstens typ.
Kommentar
Om det uppstår en namnkollision är egenskapsnamnet för åtkomst till en webbtjänst RootNamespace_Namespace_ServiceName. Överväg till exempel två webbtjänster med namnet Service1
. Om någon av dessa tjänster finns i rotnamnområdet WindowsApplication1
och i namnområdet Namespace1
får du åtkomst till tjänsten med hjälp My.WebServices.WindowsApplication1_Namespace1_Service1
av .
När du först kommer åt en av My.WebServices
objektets egenskaper skapar den en ny instans av webbtjänsten och lagrar den. Efterföljande åtkomster av den egenskapen returnerar den instansen av webbtjänsten.
Du kan ta bort en webbtjänst genom att Nothing
tilldela egenskapen för webbtjänsten. Egenskapsuppsättningen Nothing
tilldelar det lagrade värdet. Om du tilldelar något annat värde än Nothing
egenskapen utlöser settern ett ArgumentException undantag.
Du kan testa om en egenskap för My.WebServices
objektet lagrar en instans av webbtjänsten med hjälp av operatorn Is
eller IsNot
. Du kan använda dessa operatorer för att kontrollera om värdet för egenskapen är Nothing
.
Kommentar
Vanligtvis måste operatorn Is
eller IsNot
läsa värdet för egenskapen för att utföra jämförelsen. Men om egenskapen för närvarande lagrar Nothing
skapar egenskapen en ny instans av webbtjänsten och returnerar sedan den instansen. Visual Basic-kompilatorn behandlar dock objektets egenskaper My.WebServices
särskilt och låter Is
operatorn eller IsNot
kontrollera egenskapens status utan att ändra dess värde.
Exempel
Det här exemplet anropar metoden för FahrenheitToCelsius
TemperatureConverter
XML-webbtjänsten och returnerar resultatet.
Function ConvertFromFahrenheitToCelsius(
ByVal dFahrenheit As Double) As Double
Return My.WebServices.TemperatureConverter.FahrenheitToCelsius(dFahrenheit)
End Function
För att det här exemplet ska fungera måste projektet referera till en webbtjänst med namnet Converter
, och den webbtjänsten måste exponera ConvertTemperature
metoden. Mer information finns i Accessing Application Web Services (Åtkomst till Programwebbtjänster).
Den här koden fungerar inte i ett webbprogramprojekt.
Behov
Tillgänglighet efter projekttyp
Projekttyp | Tillgängligt |
---|---|
Windows-program | Ja |
Klassbibliotek | Ja |
Konsolprogram | Ja |
Windows-kontrollbibliotek | Ja |
Webbkontrollbibliotek | Ja |
Windows-tjänsten | Ja |
Webbplats | Nej |